最大有效权限 mask

通过setfacl命令可以查看指定文件或目录的最大有效权限,即该命令返回结果的mask字段标识

mask是用来指定一个文件或目录的最大有效的ACL权限,给一个用户赋予了ACL权限后,需要和mask权限做“与”运算,得到的结果才是该用户所具有的真正的ACL权限。

例如:我们给user用户设置对file目录具有rwx的ACL权限,然后设置file目录的mask权限为r-x。那么,“与”运算后该用户实际的权限为rx,也就是说,即使对user用户设置w权限,然而file目录最大有效权限没有w权限,该用户也依然没有w权限。

设置mask
setfacl -m m:[权限] [目录或文件]

  1. ## 范例
  2. setfacl -m m:rx /home/gmd ## 设置/home/gmd目录的最大有效的ACL权限为rx
  3. [root@localhost home]# getfacl gmd ## 查看/home/gmd目录的ACL权限
  4. # file: gmd
  5. # owner: gmd
  6. # group: gmd
  7. user::rwx
  8. user:dhj:rwx #effective:r-x ## 注释标识了真正的权限
  9. group::rwx #effective:r-x
  10. group:dhj:rwx #effective:r-x
  11. mask::r-x ## 修改后的mask权限
  12. other::---
  13. ## 当设置的ACL权限和“逻辑与”后的真正权限有出入时,会有注释标识真正的权限

删除ACL权限

语法:setfacl [选项] [参数]:[用户名] [文件名]
选项说明:
-x:删除指定ACL权限
-b:删除全部ACL权限
参数说明:
u:指定用户
g:指定用户组

  1. ## 范例
  2. setfacl -x u:dhj /home/gmd ## 删除dhj用户对/home/gmd目录的ACL权限
  3. setfcal -x g:dhj /home/gmd ## 删除dhj用户组对/home/gmd目录的ACL权限
  4. setfcal -b /home/gmd ## 删除/home/gmd目录的全部ACL权限,删除后通过ls命令检查