我在/ projects / svn中有几个svn仓库,应该可以通过2个用户,mine(unix)和wwwrun(apache,svn over http)
两个用户都应该读取/写入新创build的文件夹和文件
我玩了setfacl,但无法得到它的工作方式,我需要它
我的尝试如下:
unknown:/projects/svn # setfacl -b . unknown:/projects/svn # setfacl -mu: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::rx mask::rwx other::rx default:user::rwx default:user:wwwrun:rwx default:user:unix:rwx default:group::rx default:mask::rwx default:other::rx 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:rx user:unix:rwx #effective:rx group::rx mask::rx other::rx default:user::rwx default:user:wwwrun:rwx default:user:unix:rwx default:group::rx default:mask::rwx default:other::rx wwwrun@unknown:/projects/svn>
正如你所看到的,我的用户(Unix)只有rx(有效)权限
好吧,我应该刚刚阅读手册…
https://web.archive.org/web/20151220084629/http://turing.suse.de/~agruen/acl/linux-acls/online/
“ACL如何工作”部分
我的小组位是限制性的(rw),它将掩码限制为rx,随后我的ACL中的指定用户无法写入
其实,这是相当简单:)
我不能重现你所得到的; 无论是否包含m:rwx,我都会得到预期的行为。 这是一个Linux内核2.6.32-24-generic,ext4文件系统和setfacl v.2.2.49的Linux Ubuntu 10.04 LTS(Lucid Lynx):(Users'bhm'and'test')
$ pwd /data/musikk/dir $ setfacl -b . $ setfacl -mu:bhm:rwx,u:test:rwx,m:rwx . $ setfacl -dm u:bhm:rwx,u:test:rwx,m:rwx . $ getfacl . # file: . # owner: bhm # group: bhm user::rwx user:bhm:rwx user:test:rwx group::rx mask::rwx other::rx default:user::rwx default:user:bhm:rwx default:user:test:rwx default:group::rx default:mask::rwx default:other::rx $ su -s /bin/bash test Password: test@hva:/data/musikk/dir$ mkdir testdir test@hva:/data/musikk/dir$ getfacl testdir # file: testdir # owner: test # group: test user::rwx user:bhm:rwx user:test:rwx group::rx mask::rwx other::rx default:user::rwx default:user:bhm:rwx default:user:test:rwx default:group::rx default:mask::rwx default:other::rx
问题在于由于某种原因默认设置了掩码。 我看不出为什么会发生,但是最好不要设置它。 尝试错过m:rwx,然后尝试。