18.文件与目录权限
文件访问者分类(朋友圈)
文件拥有者 文件所属组 文件的other
文件类型
d:目录文件 -:普通文件(文本,源代码,可执行程序,第三方动静态库) l:软链接(类似Windows的快捷方式) b:块设备文件(例如硬盘、光驱等) p:管道文件 c:字符设备文件(例如屏幕等串口设备) s:套接口文件
权限设置
[root@big3 demo1]# ll 总用量 8 -rw-r--r--. 1 root root 183 9月 30 08:33 1.txt drwxr-xr-x. 2 root root 32 9月 30 08:34 demo1 drwxr-xr-x 10位,四组信息 第一组 : 1位, 文件类型 第二组 : 2-4位,文件所有者 第三组 : 5-7位,文件所属组 第四组 : 8-10位,其他用户 r w x -> 4 2 1 ——》 可读 可写 可执行 权限 文件 目录 r cat ls w vim rm mv x .sh cd
权限修改
chmod
文件拥有者: u 文件所属组:g 文件的other:o chmod [ugoa]+-=[rwx] 文件/目录 chmod 数字 文件/目录 drwxr-xr-x. 2 root root 6 10月 9 09:22 1 更改目录权限,属主为rwx 属组rw 其他用户无权限 [root@big3 demo1]# chmod 760 1 [root@big3 demo1]# ll -d 1 drwxrw----. 2 root root 6 10月 9 09:22 1 [root@big3 demo1]# [root@big3 demo1]# chmod g=rw,o=- 2 [root@big3 demo1]# [root@big3 demo1]# ll -d 2 drwxrw----. 2 root root 6 10月 9 09:22 2 [root@big3 demo1]# -rw-r--r--. 1 root root 183 9月 30 08:33 1.txt 更改文件权限,属主rwx 属组rx ,其他用户rwx [root@big3 demo1]# chmod u+x,g+x,o=rwx 1.txt [root@big3 demo1]# ll 1.txt -rwxr-xrwx. 1 root root 183 9月 30 08:33 1.txt [root@big3 demo1]#
chown
[root@big3 demo1]# ll 查看文件/目录权限 总用量 8 drwxrw----. 2 root root 6 10月 9 09:22 1 -rwxr-xrwx. 1 root root 183 9月 30 08:33 1.txt drwxrw----. 2 root root 6 10月 9 09:22 2 -rw-r--r--. 1 root root 366 9月 30 08:34 2.txt [root@big3 demo1]# [root@big3 demo1]# [root@big3 demo1]# [root@big3 demo1]# chown big1 1 更改属主 [root@big3 demo1]# [root@big3 demo1]# chown .admin 2 更改属组 [root@big3 demo1]# [root@big3 demo1]# [root@big3 demo1]# chown big1.admin 1.txt 更改属主与属组 [root@big3 demo1]# [root@big3 demo1]# [root@big3 demo1]# ll 总用量 8 drwxrw----. 2 big1 root 6 10月 9 09:22 1 -rwxr-xrwx. 1 big1 admin 183 9月 30 08:33 1.txt drwxrw----. 2 root admin 6 10月 9 09:22 2 -rw-r--r--. 1 root root 366 9月 30 08:34 2.txt
19.附加权限
粘滞位(T权限)
共享文件夹 :bigWork [root@big3 ~]# mkdir /bigWork 两个用户,分别创建文件 big2: big2.txt echo "big4...">> big2.txt big4: big4.txt echo "big4...">> big4.txt [root@big3 bigWork]# ll 总用量 8 -rw-r--r--. 1 big2 big2 8 10月 9 14:50 big2.txt -rw-r--r--. 1 big4 big4 8 10月 9 14:49 big4.txt 占用其他人(Other)的×位,显示为t或T,取决于其他人是否有x权限 [root@big3 /]# ll -d bigWork/ drwxr-xr-x. 2 root root 38 10月 9 14:50 bigWork/ [root@big3 /]# chmod o+t bigWork/ [root@big3 /]# ll -d bigWork/ drwxr-xr-t. 2 root root 38 10月 9 14:50 bigWork/ [root@big3 /]# ll -d bigWork/ drwxr-xrw-. 2 root root 38 10月 9 14:50 bigWork/ [root@big3 /]# [root@big3 /]# chmod o+t bigWork/ [root@big3 /]# ll -d bigWork/ drwxr-xrwT. 2 root root 38 10月 9 14:50 bigWork/ 验证: 在设置了粘滞位的文件夹下,即使用户有写入(w)权限,也不能删除或改名其他用户文档
SGID权限
对目录有效 : [root@big3 /]# mkdir /bigWork2 [root@big3 /]# [root@big3 /]# [root@big3 /]# ll -d /bigWork2/ drwxr-xr-x. 2 root root 6 10月 9 15:10 /bigWork2/ [root@big3 /]# chown .admin /bigWork2/ 占用属组(Group)的x位,显示为s或S,取决于属组是否有x权限 [root@big3 /]# ll -d /bigWork2/ drwxr-xr-x. 2 root admin 19 10月 9 15:11 /bigWork2/ [root@big3 /]# [root@big3 /]# [root@big3 /]# [root@big3 /]# chmod g+s /bigWork2/ [root@big3 /]# [root@big3 /]# [root@big3 /]# ll -d /bigWork2/ drwxr-sr-x. 2 root admin 19 10月 9 15:11 /bigWork2/ 在一个具有SGID权限的目录下,新建的文档会自动继承此目录的属组身份 [root@big3 /]# ll -d /bigWork2/ drwxr-sr-x. 2 root admin 19 10月 9 15:11 /bigWork2/ [root@big3 /]# cd bigWork2/ [root@big3 bigWork2]# [root@big3 bigWork2]# echo "Hello2" > 2.txt [root@big3 bigWork2]# [root@big3 bigWork2]# [root@big3 bigWork2]# ll 总用量 8 -rw-r--r--. 1 root root 6 10月 9 15:11 1.txt -rw-r--r--. 1 root admin 7 10月 9 15:15 2.txt [root@big3 bigWork2]#
权限掩码
查看权限掩码: [root@big3 demo1]# umask 0022 目录算法 :777 - 022 = 755 文件算法 :777 - 022 = 755 去掉X权限 644 [root@big3 demo1]# ll 总用量 0 drwxr-xr-x. 2 root root 6 10月 9 15:49 1 755 777-022=755 -rw-r--r--. 1 root root 0 10月 9 15:49 1.txt 644 777-022=755 - 减去x值 = 644 修改权限压掩码: 临时设置 : umask 值 永久设置 :umask 的配置文件是 /etc/bashrc 。 最后一行的 umask 0077 改成需要修改的值,「重启系统」即可生效。
20.ACL访问策略
能够对个别用户、个别组设置独立的权限 [root@big3 /]# mkdir acl [root@big3 /]# [root@big3 /]# ll -d acl/ drwxr-xr-x. 2 root root 6 10月 9 17:42 acl/ 设置权限 setfacl 选项 文件名 给指定用户设置权限 setfacl -m u:big2:rwx acl 查看权限 getfacl acl/ 给指定用户取消权限 setfacl -x u:big2 acl 给指定组设置权限 setfacl -m g:admin:rwx acl 给指定组取消权限 setfacl -x g:admin acl 设置递归权限:(对已存在的子文件/目录生效) setfacl -m u:big2:rwx -R acl2 删除所有acl权限 setfacl -b acl2 查看权限 getfacl 文件名
给指定用户设置/取消权限
[root@big3 /]# mkdir acl [root@big3 /]# [root@big3 /]# ll -d acl/ drwxr-xr-x. 2 root root 6 10月 9 17:42 acl/ [root@big3 /]# [root@big3 /]# [root@big3 /]# [root@big3 /]# [root@big3 /]# getfacl acl/ 查看权限 # file: acl/ # owner: root # group: root user::rwx group::r-x other::r-x [root@big3 /]# setfacl -m u:big2:rwx acl 设置指定用户acl权限 [root@big3 /]# [root@big3 /]# getfacl acl/ # file: acl/ # owner: root # group: root user::rwx user:big2:rwx group::r-x mask::rwx other::r-x [root@big3 /]# [root@big3 /]# setfacl -x u:big2 acl 取消指定用户权限 [root@big3 /]# [root@big3 /]# [root@big3 /]# getfacl acl/ 查看权限 # file: acl/ # owner: root # group: root user::rwx group::r-x mask::r-x other::r-x [root@big3 /]#
给指定组设置/取消权限
[root@big3 /]# getfacl /acl/ getfacl: Removing leading '/' from absolute path names # file: acl/ # owner: root # group: root user::rwx user:big2:rwx group::r-x mask::rwx other::r-x [root@big3 /]# [root@big3 /]# [root@big3 /]# setfacl -m g:admin:rwx acl 给指定组设置权限 [root@big3 /]# [root@big3 /]# [root@big3 /]# getfacl /acl/ getfacl: Removing leading '/' from absolute path names # file: acl/ # owner: root # group: root user::rwx user:big2:rwx group::r-x group:admin:rwx mask::rwx other::r-x [root@big3 /]# [root@big3 /]# [root@big3 /]# setfacl -x g:admin acl 给指定组取消权限 [root@big3 /]# [root@big3 /]# [root@big3 /]# getfacl /acl/ getfacl: Removing leading '/' from absolute path names # file: acl/ # owner: root # group: root user::rwx user:big2:rwx group::r-x mask::rwx other::r-x [root@big3 /]#
设置递归权限
(对已存在的子文件/目录生效) [root@big3 /]# [root@big3 /]# setfacl -m u:big2:rwx -R acl2 [root@big3 /]# [root@big3 /]# [root@big3 /]# getfacl acl2/ # file: acl2/ # owner: root # group: root user::rwx user:big2:rwx group::r-x mask::rwx other::r-x [root@big3 /]# [root@big3 /]# [root@big3 /]# cd acl2/ [root@big3 acl2]# [root@big3 acl2]# getfacl 1.txt # file: 1.txt # owner: root # group: root user::rw- user:big2:rwx group::r-- mask::rwx other::r-- [root@big3 acl2]# [root@big3 acl2]# ec [root@big3 acl2]# [root@big3 acl2]# echo "sss"> 2.txt [root@big3 acl2]# [root@big3 acl2]# [root@big3 acl2]# getfacl 2.txt # file: 2.txt # owner: root # group: root user::rw- group::r-- other::r-- [root@big3 acl2]# [root@big3 acl2]# setfacl -m g:admin:rwx -R acl2 setfacl: acl2: 没有那个文件或目录 [root@big3 acl2]# setfacl -m g:admin:rwx -R /acl2 [root@big3 acl2]# [root@big3 acl2]# [root@big3 acl2]# getfacl 2.txt # file: 2.txt # owner: root # group: root user::rw- group::r-- group:admin:rwx mask::rwx other::r-- [root@big3 acl2]# [root@big3 acl2]# [root@big3 acl2]# echo "sss"> 3.txt [root@big3 acl2]# [root@big3 acl2]# [root@big3 acl2]# getfacl 3.txt # file: 3.txt # owner: root # group: root user::rw- group::r-- other::r-- [root@big3 acl2]#
删除所有ACL权限
[root@big3 /]# getfacl acl2/ # file: acl2/ # owner: root # group: root user::rwx user:big2:rwx group::r-x group:admin:rwx mask::rwx other::r-x [root@big3 /]# [root@big3 /]# [root@big3 /]# setfacl -b acl2/ 删除所有ACL权限 [root@big3 /]# [root@big3 /]# [root@big3 /]# getfacl acl2/ # file: acl2/ # owner: root # group: root user::rwx group::r-x other::r-x [root@big3 /]#
设置/取消默认权限
setfacl -m d:u:用户名:权限 目录 [root@big3 /]# setfacl -m d:u:big2:rx acl setfacl -m d:g:组名:权限 目录 [root@big3 /]# setfacl -m d:g:admin:rx acl 取消默认权限 setfacl -k acl 注意点 : 只对新建子文件/目录有效 [root@big3 /]# cd acl [root@big3 acl]# [root@big3 acl]# ll 总用量 0 [root@big3 acl]# echo "hello" > 1.txt [root@big3 acl]# [root@big3 acl]# ll 总用量 4 -rw-r--r--. 1 root root 6 10月 10 08:24 1.txt [root@big3 acl]# [root@big3 acl]# [root@big3 acl]# getfacl 1.txt # file: 1.txt # owner: root # group: root user::rw- group::r-- other::r-- [root@big3 acl]# [root@big3 acl]# [root@big3 acl]# cd .. [root@big3 /]# [root@big3 /]# [root@big3 /]# setfacl -m d:u:big2:rx acl 设置默认权限 [root@big3 /]# [root@big3 /]# [root@big3 /]# getfacl acl # file: acl # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:user:big2:r-x default:group::r-x default:mask::r-x default:other::r-x [root@big3 /]# [root@big3 /]# [root@big3 /]# cd acl [root@big3 acl]# [root@big3 acl]# [root@big3 acl]# getfacl 1.txt # file: 1.txt # owner: root # group: root user::rw- group::r-- other::r-- [root@big3 acl]# echo "hello" > 2.txt [root@big3 acl]# [root@big3 acl]# [root@big3 acl]# getfacl 2.txt # file: 2.txt # owner: root # group: root user::rw- user:big2:r-x #effective:r-- group::r-x #effective:r-- mask::r-- other::r-- [root@big3 acl]# [root@big3 /]# setfacl -k acl 取消默认权限 [root@big3 /]# [root@big3 /]# getfacl acl # file: acl # owner: root # group: root user::rwx group::r-x other::r-x标签:txt,文件目录,big3,acl,Linux,rwx,group,权限,root From: https://blog.csdn.net/weixin_42636042/article/details/142928455