首页 > 代码库 > 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