linux/setfacl - 使用指定的所有者/组将父目录中的所有当前/未来文件/目录设置为 775

Mav*_*ick 48 linux permissions access-control-list setfacl

我有一个名为“成员”的目录,在它下面有文件夹/文件。如何递归地将所有当前文件夹/文件以及在那里创建的任何未来文件夹/文件默认设置为具有 775 权限并分别属于所有者/组 nobody/admin?我启用了 ACL,已挂载,但似乎无法让 setfacl 命令正确执行此操作。知道如何做到这一点吗?

Mav*_*ick 72

到目前为止,我实际上发现了一些可以满足我的要求的东西,在这里分享,以便遇到此问题的任何人都可以尝试此解决方案:

sudo setfacl -Rdm g:groupnamehere:rwx /base/path/members/
sudo setfacl -Rm g:groupnamehere:rwx /base/path/members/
Run Code Online (Sandbox Code Playgroud)

R是递归的,这意味着该目录下的所有内容都将应用规则。
d是默认值,这意味着对于在该目录下创建的所有未来项目,默认情况下应用这些规则。 m需要添加/修改规则。

第一个命令用于新项目(因此是 d),第二个命令用于文件夹下的旧/现有项目。希望这可以帮助某人,因为这些东西有点复杂而且不是很直观。

  • 这正是我需要让祖父目录的所有者能够正确修改新的孙目录的内容。 (2认同)

小智 19

要接受您接受的答案...

您可以将这些命令组合在一起,如下所示:

sudo setfacl -Rm d:g:groupnamehere:rwx,g:groupnamehere:rwx /base/path/members/
Run Code Online (Sandbox Code Playgroud)