it-swarm.cn

如何获得setfacl在Linux上递归设置ACL权限?

我正在设置一台新服务器,并希望对ACL赋予chown:chgrp:chmod样式权限。

Setfacl的手册页指示“ -R”选项可用于在文件和目录上递归设置ACL。

-R,--recursive递归地将操作应用于所有文件和目录。此选项不能与“ --restore”混合使用。

如果我的目录布局如下所示

test/
   subtest/
   subtest.txt

然后我执行

setfacl -Rm d:u:foo:rwX test

ACL对“ subtest”目录生效,但对subtest.txt文件无效。

我想我可以使用find + exec来解决它,但是我计划使用此服务器来训练其他一些管理员,并且我想使它尽可能简单,以便我们不会挂在一些更高级的上约定。

谢谢

20
Joe Holloway

尝试:

setfacl -Rm u:foo:rwX,d:u:foo:rwX test

修改当前ACL和默认ACL。我相信“ d:”仅影响目录的(d)efault ACL,而不会影响文件。然后,如果在目录中创建new文件,它将通过默认值继承其父目录的ACL。

44