本文共 1457 字,大约阅读时间需要 4 分钟。
如下图,对于无法使用ugo权限实现的控制,可以使用ACL(Access Control Lists)设置更加灵活的权限
dumppe2fs -h /dev/sda3
-h :仅显示超级块中信息,而不显示磁盘块组的详细信息。
# 重新挂在根分区,并挂载加入ACL权限mount -o remount,acl /
# vi /etc/fstab # 修改根分区,加入acl支持,defaults中已经默认支持,此处只做演示。/dev/mapper/centos-root / xfs defaults,acl 0 0# mount -o remount # 重新挂载文件系统或重启系统,使生效
getfacl [文件名]
setfacl [选项] 文件名
选项 | 介绍 |
---|---|
-m | 设定ACL权限 |
-x | 删除指定的ACL权限 |
-b | 删除所有的ACL权限 |
-d | 设定默认ACL权限(针对目录,设定后,新加文件会为该权限) |
-k | 删除默认ACL权限 |
-R | 递归设定ACL权限 |
只针对已经存在的文件,新加文件不起作用
setfacl -m u:st:rx /project # 给用户st赋予r-x权限setfacl -m g:tgroup2:rwx project/ # 为组tgroup2分配ACL权限。
设置的用户以及组的权限需要与mask的权限“相与”(AND),mask默认为rwx,相与后不变。
setfacl -m m:rwx 文件名 # 设置文件mask权限setfacl -x u:用户名 文件名
setfacl -x g:组名 文件名
setfacl -b 文件名
setfacl -m u:用户名:权限: -R 目录
注:-R的位置是固定的setfacl -m d:u:用户名:权限 -R 目录
注:只针对当前目录下新建的文件权限,与上一条命令互补useradd zhangsan useradd lisiuseradd stgroupadd tgroupmkdir /projectchown root:tgroup /project # 设置project目录的拥有者为root,所有组为tgroupchmod 770 /project # 设置/project目录的默认权限为rwxrwx-------------------------------setfacl -m u:st:rx /project # 给用户st赋予r-x权限----------------------------groupadd tgroup2----------------------------setfacl -m g:tgroup2:rwx project/ # 为组tgroup2分配ACL权限。----------------------------
转载地址:http://rgioi.baihongyu.com/