基于Linux的acl及mask

一、acl的权限列表

1、作用:让特定用户对特定文件拥有特定权限
2、acl列表查看
-rw-rwxr–+ 1 root root 0 jul 21 15:45 file
^
acl开启
基于Linux的acl及mask
图中的+号表示,acl权限开启。此时显示的u,g,o的权限并非完全准确需要查看acl开启的文件特权
getfacl file ##查看acl开启的文件的特权
#file:file ##文件名称
#owner:root ##文件拥有者
#group:root ##文件拥有组
user::rw- ##文件拥有人的权限
user:kiosk:rwx ##指定用户的权限
基于Linux的acl及mask
3、acl列表的管理
getfacl file
setfacl -m u:用户名:rwx file #用户对file文件拥有rwx权限
基于Linux的acl及mask
设置cq用户对ifle的权限为0
setfacl -m g:组名:rwx file #组成员对file文件拥有rwx权限
setfacl -x u:用户名 file #从acl列表中删除用户
基于Linux的acl及mask
setfacl -b file #关闭file的acl列表
基于Linux的acl及mask
关闭后,+号消失,此时所显示u,g,o的权限则为正确表示。且此前所有对acl权限的设置全部关闭。
4、acl的默认权限设定
acl默认权限只针对目录设定
“acl权限只针对设定完成之后新建立文件或目录生效,而已经存在的文件时不会继承默认权限”
setfacl -m d:u:student:rwx /mnt/westos
基于Linux的acl及mask
setfacl -k /mnt/westos
5、权限匹配优先级
userperm>acluser>alcgroup>groupperm>其他
先比较userperim和acluser的优先级
基于Linux的acl及mask
用户权力为rw,acluser的权利为rwx
基于Linux的acl及mask
cq用户无法删除file文件,可以得出userperm的优先级大于acluser。
再比较alcgroup与groupperm的优先级
基于Linux的acl及mask
将usergroup的权限设定为rwx,将aclgroup的权限设置为0。利用cq对file文件进行写入,发现写入失败,说明aclgroup的权限高于usergroup

二、mask值

在权限列表中mask标示能生效的权力值
当用chmod减小开启acl的文件权限时mask值会发生变化
chmod g-w westos
基于Linux的acl及mask
虽然显示student的权限为rwx,但生效的仅为r
恢复mask值
setfacl -m m:rw westos
基于Linux的acl及mask

三、chattr和lsattr命令

利用chattr以及lsattr命令设定文件权限
| 基于Linux的acl及mask
设定westos的权限为777,使用chattr +i westos指令,使westos仅能查看不能修改。并利用lsattr westos -d查看chattr指令是否有效。
虽然westos文件本身的权限为777,但经过chattr指令修改了,我们在touch该目录下的文件时失败,但在查看该目录时成功。
除了chattr +i westos指令以外
还有chattr -i westos
chattr =i westos
以及
chattr +a westos
基于Linux的acl及mask
+a表示可以查看,写入但无法删除文件。
chattr -a westos
chattr =a westos