unix/setfacl:为正确的权限继承设置目录默认 acl

fho*_*zer 3 unix permissions access-control-list file-permissions

我在 /projects/svn 中有几个 svn 存储库,它们应该可由 2 个用户写入,我的(unix)和 wwwrun(apache,用于 svn over http)

新创建的文件夹和文件应该可以被两个用户读/写

我玩弄了 setfacl,但无法按照我需要的方式工作

我的尝试如下:

unknown:/projects/svn # setfacl -b .
unknown:/projects/svn # setfacl -m u:unix:rwx,u:wwwrun:rwx,m:rwx .
unknown:/projects/svn # setfacl -dm u:unix:rwx,u:wwwrun:rwx,m:rwx .
unknown:/projects/svn # getfacl .
# file: .
# owner: unix
# group: users
user::rwx
user:wwwrun:rwx
user:unix:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:wwwrun:rwx
default:user:unix:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

unknown:/projects/svn # su -s /bin/bash wwwrun
wwwrun@unknown:/projects/svn> md test
wwwrun@unknown:/projects/svn> getfacl test
# file: test
# owner: wwwrun
# group: www
user::rwx
user:wwwrun:rwx                 #effective:r-x
user:unix:rwx                   #effective:r-x
group::r-x
mask::r-x
other::r-x
default:user::rwx
default:user:wwwrun:rwx
default:user:unix:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

wwwrun@unknown:/projects/svn>
Run Code Online (Sandbox Code Playgroud)

如您所见,我的用户(unix)只有 rx(有效)权限

fho*_*zer 5

好吧,我应该只是阅读手册...

https://web.archive.org/web/20151220084629/http://turing.suse.de/~agruen/acl/linux-acls/online/“ACL 的
工作原理”部分

我的组位是限制性的(rw),它将掩码限制为 rx,随后我的 ACL 中的命名用户无法写入

实际上,这很简单:)