ACL最大有效权限与删除-linux34

来源:互联网 发布:sketchup2017 pro mac 编辑:程序博客网 时间:2024/04/27 20:31

ACL最大有效权限与删除

上节我们学习了ALC权限的查看与设定,这节课我们继续学习ACL的mask权限和删除命令。
一、最大有效权限mask
首先我们用getfacl命令查看上节课我们学习时建立的project目录,如图:
ACL权限查看
图中有个mask选项,就是ACL的最大有效权限。

mask是用来指定最大有效权限的。如果我们给用户赋予了ACL权限,是需要和mask的权限逻辑”相与”才能得到用户的真正权限。
比如mask的权限是rwx,而赋予了ACL权限的用户权限是r-x,那么他们逻辑相与后就是这个用户的真正ACL权限,也就是r-x。

我们可以通过修改mask的权限来使得ACL用户的权限是否合适,比如我们把mask的权限设置为rw-,而用户的权限是r-x ,那么相与后的最终权限就是r–,也就是只剩只读权限了。

那么我们也可以把mask的权限用setfacl命令修改为r-x,这样一来就算用户的 ALC权限设置为rwx,那么他实际的最终权限还是r-x,因为最大权限mask设置成了r-x了,命令:
[root@localhost ~]# setfacl -m m:rx /project/
如图:
mask权限修改
大家会发现所属组group和acl权限的tgroup2组会多出两条注释,也就是说因为最大权限mask设置成了r-x,所以就算所属组的acl权限是rwx,但实际只有r-x权限。
但是不影响当前用户的所有者user的权限。影响的只有acl权限和所属组的权限。

也就是说mask最大权限的作用是为了避免我们在设置acl权限的时候误操作导致给的权限过大。

二、删除ACL权限
1、[root@localhost ~]# setfacl -x u:用户名 文件名
删除指定用户的acl权限。
比如:
[root@localhost ~]# setfacl -x u:st /project/

2、[root@localhost ~]# setfacl -x g:组名 文件名
删除指定用户组的ACL权限。
比如:
[root@localhost ~]# setfacl -x g:tgroup2 /project/

3、[root@localhost ~]# setfacl -b 文件名
删除文件或目录的所有的ACL权限。
比如:
[root@localhost ~]# setfacl -b /project/
好的,我们就来删除project的所有acl权限,如图:
acl权限删除命令

本教程原创作者:mageo,出自每集博客,尊重作者劳动,转载请注明出处:http://www.ql2015.cn,谢谢!

0 0