ACL多个默认组?

使用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/tempsetfacl -Rm g:www-data:rx,g:sambashare:rx /tmp/temp 。 选项d为新文件和目录设置默认值,但不会更改现有设置,因为只有root:root才具有访问权限。 -R将会很方便地按照现有的目录recursion地进行必要的修改。