使用Linux ACL,你可以有多个组,默认访问一个文件夹? 我想要这个在不同的编码组+几个进程之间共享代码库。 我的想法是,如果来自一个组的用户在共享存储库内创build内容,即使所有者是该用户,默认权限也会传播到该新文件,而其他用户仍然可以访问该内容。
这是我作为根尝试的:
mkdir / tmp / temp chmod 770 / tmp / temp setfacl -dm g:www-data:rx,g:sambashare:rx / tmp / temp getfacl / tmp / temp #file:temp #所有者:根 #组:根 用户:: RWX 组:: RWX 其他:: - - 默认:用户:: RWX 默认:组:: RWX 默认:组:WWW的数据:RX 默认:组:sambashare:RX 默认:面膜:: RWX 默认:其他:: ---
作为testuser
ID uid = 1004(testuser)gid = 1007(testuser)groups = 1007(testuser),110(sambashare) cd / tmp / temp bash:cd:temp:权限被拒绝
所以显然不能按我的预期工作。 任何人都可以帮我理解为什么它不工作,我怎么能解决这个问题?
PS我正在设置默认的组权限,而不是只有正常的组权限,因为这些应该传播给子。
setfacl -mg:sambashare:rx / tmp / temp
似乎正在授予访问权限。
谢谢。
尝试运行setfacl -Rdm g:www-data:rx,g:sambashare:rx /tmp/temp和setfacl -Rm g:www-data:rx,g:sambashare:rx /tmp/temp 。 选项d为新文件和目录设置默认值,但不会更改现有设置,因为只有root:root才具有访问权限。 -R将会很方便地按照现有的目录recursion地进行必要的修改。