首页 > 代码库 > linux之权限之facl
linux之权限之facl
linux权限之facl
前面给大家分享了ugo和强制位和冒险位,有些时候我们利用之前讲的权限有些需求满足不了,比如说有一个文件对应其它人权限都为只读,jim用户匹配ugo属于other角色其权限为只读,但是我们需要让Jim可以读写怎么实现呢?带着这些疑问大家可以看看下面的介绍.
facl基于文件的访问控制列表 优先级比ugo高
想要使用fac首先需要检测文件系统(分区)是否支持facl
tune2fs -l /dev/sda3 | grep acl
Default mount options: user_xattr acl
让不支持acl的分区支持
mount -o remount,acl /boot/
查看文件是否设置有facl
ll
总用量 16
-rw-rw-rw-+ 1 user1 user1 4 11月 4 16:54 1.txt
上例中如果有+号表示设置了facl
查看文件是否设置了facl
getfacl a.txt
# file: a.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--
setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
-m 修改facl
-x 删除某条facl
-b 删除所有的facl
-d 设置目录默认的facl
-R 表示递归设置
设置facl 针对a.txt文件为redhat用户设置特殊的权限
setfacl -m u:redhat:rwx a.txt
getfacl a.txt
# file: a.txt
# owner: root
# group: root
user::rw-
user:redhat:rwx
group::r--
mask::rwx
other::r--
setfacl -m u:user1:r-x a.txt
取消user1的facl
setfacl -x u:user1 a.txt
取消所有用户的facl
setfacl -b a.txt
基于组的设置
setfacl -m g:IT:rwx a.txt
目录的facl
目录的default facl针对目录有效 此设置对目录本身无意义 其它人在此目录下创建的文
件都继承用户对目录设置的facl
设置目录的facl
setfacl -m d:u:redhat:rwx test/
effective 最终效果
设置掩码
setfac -m m::rw /tmp/test/1.txt
linux之权限之facl