一图了解ACL执行流程
1、验证文件owner不受acl影响
root@yemo:/tmp/set# ls -l total 4 -rw-rw----+ 1 yemo Debian-gdm 773 Jun 2 05:37 tes #ACL限制yemo权限,yemo是文件owner root@yemo:/tmp/set# setfacl -m u:yemo:r tes root@yemo:/tmp/set# getfacl tes # file: tes # owner: yemo # group: Debian-gdm user::rw- user:yemo:r-- user:nidaye:--- group::r-- group:nimei:r-x group:nidaye:-w- mask::rwx other::--- root@yemo:/tmp/set# echo "i am yemo momoda">>tes root@yemo:/tmp/set# tail -1 tes i am yemo momoda #ACL对基本owner权限无影响
2、acl对指定用户(非文件owner)的权限
#两个用户分别是非yemo和yemo组的 root@yemo:/tmp# id nimei uid=1001(nimei) gid=1001(nimei) groups=1001(nimei) root@yemo:/tmp# id nidaye uid=1002(nidaye) gid=1002(nidaye) groups=1002(nidaye) root@yemo:/tmp/set# setfacl -m u:nidaye:- tes root@yemo:/tmp/set# setfacl -m g:nimei:rx tes root@yemo:/tmp/set# setfacl -m g:nidaye:w tes root@yemo:/tmp/set# setfacl -m mask:rw tes nimei@yemo:/tmp/set$ tail -1 tes hello nimei@yemo:/tmp/set$ echo "surprise~~">>tes bash: tes: Permission denied #文件tes权限为-rw-rw----+,验证用户nimei有read权限,没有write权限
3、验证acl用户属于多组时候的权限
#把nimei添加到组nidaye nimei@yemo:/tmp/set$ echo "surprise---" >>tes nimei@yemo:/tmp/set$ tail -1 tes surprise--- #同时候具有nimei和nidaye两个组的权限rw #只读取针对用户的权限而不是组的权限 nidaye@yemo:/tmp/set$ echo "surprise" >>tes bash: tes: Permission denied
4、验证mask对acl影响
# file: tes # owner: yemo # group: Debian-gdm user::rw- user:nidaye:--- group::r-- group:nimei:r-x #effective:r-- #mask是acl权限的上限,acl会自动去掉高于acl的权限 group:nidaye:-w- mask::rw- other::--- #ower:yemo yemo@yemo:/tmp/set$ echo "hello" >>tes yemo@yemo:/tmp/set$ tail -1 tes hello #mask是acl权限的上限,acl会自动去掉高于acl的权限 #新建用户hello属于nidaya组(w),Debian-gdm组(r) #查看权限 hello@yemo:/tmp/set$ echo "hello world">>tes hello@yemo:/tmp/set$ tail -1 tes hello world #同时继承文件所属组和附加组的权限 #修改mask会自动修改相关组的权限
转载于:https://blog.51cto.com/12550795/1932107