![setfacl 访问问题](https://linux22.com/image/50133/setfacl%20%E8%AE%BF%E9%97%AE%E9%97%AE%E9%A2%98.png)
我有一个用户列表(用户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 '{}' '+'