setfacl 访问问题

setfacl 访问问题

我有一个用户列表(用户1,用户2,用户3,超级用户)。 user1、user2 和 user3 属于名为的用户组普通用户。现在,我需要为用户发出访问控制列表命令超级用户查看用户(user1、user2、user3)的主页。我有一个 setfacl 命令,如下所示。

setfacl -m user:superuser:rx /home/user1

上面的命令工作得很好,用户超级用户有权访问 user1 目录。现在,我也需要向其余用户颁发权利。我想将 ACL 规则应用于主目录内的所有用户。所以,我发出了以下命令。

setfacl -m user:superuser:rx /home/

但是,上述命令不允许我查看所有用户。我想知道是否可以修改 setfacl 命令来访问属于特定组的所有主目录。

答案1

您需要 --recursive 开关:

setfacl -R -m user:superuser:rx /home/

否则,您唯一要更改的是/home目录 acl。

答案2

ACL 应用于目录和文件。您不能将它们应用到组中,至少不能直接应用。您可以通过与 find 链接将它们应用于组拥有的所有文件/目录:

find /home -group «some-group» -type d -exec setfacl -m u:superuser:rx '{}' '+'

相关内容