示例

为用户 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
在 linux 中使用 setfacl 授予对目录的单独权限

通常,我们使用 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