示例
为用户 jack 添加对 mydata 目录具有读取和执行权限的 acl
# setfacl -m u:jack:r-x /mydata
在任何目录上为组管理员添加 acl
# setfacl -m g:admin:rwx /mydata
在所有子目录上以递归方式添加 acl
# setfacl -Rm -u:jack:r-x /mydata/
查看 mydata 上的 acl 条目
# getfacl /mydata # file: new # owner: root # group: root user:jack:r-x group:admin:rwx group::r-x mask::r-x other::r-x # ls -l/| grep mydata drwxr-xr-x+ 2 root root 4096 Oct 3 16:49 mydata
因此,在这里我们可以看到在目录的权限部分的最后添加了“+”号,这意味着该目录上的 acl 处于活动状态。
删除目录中特定的 acl
# setfacl -x u:jack /mydata
删除目录中所有 acl
# setfacl -b /mydata
通常,我们使用 chmod 和 chown 来授予用户或者组明智的权限和对 linux 中目录和文件的所有权,但同样,如果我们想对任何特定目录上的特定用户或者组授予某些特殊权限,那么上述两个命令就无能为力。
在这种情况下,“setfacl”实用程序起着至关重要的作用并且非常有用。
使用“setfacl”,我们可以根据用户或者组名对任何特定目录或者文件授予个人权限。
语法:
为任何用户设置权限
# setfacl -m u:username:permission /path/to/directory
为任何组设置权限
# setfacl -m g:groupname:permission /path/to/directory
查看权限
# getfacl /path/to/directory
删除任何用户的个人 acl
# setfacl -x 用户名 /path/to/directory
删除所有由 setfacl 添加的 acl
# setfacl -b /path/to/directory
删除任何目录上的默认 acl
# setfacl -d /path/to/directory
日期:2020-06-02 22:17:16 来源:oir作者:oir