Permissions

unix/setfacl:為正確的權限繼承設置目錄預設 acl

  • September 29, 2016

我在 /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>

如您所見,我的使用者(unix)只有 rx(有效)權限

好吧,我應該只是閱讀手冊…

https://web.archive.org/web/20151220084629/http://turing.suse.de/~agruen/acl/linux-acls/online/

“ACL 的工作原理”部分

我的組位是限制性 (rw),它將遮罩限制為 rx,隨後我的 ACL 中的命名使用者無法寫入

實際上,這很簡單:)

我無法複製你得到的東西;無論我是否包含 m:rwx,我都會得到預期的行為。這是在具有核心 2.6.32-24-generic、ext4 文件系統和 setfacl v. 2.2.49 的 Linux Ubuntu 10.04 LTS (Lucid Lynx) 上:(使用者 ‘bhm’ 和 ’test’)

$ pwd
/data/musikk/dir
$ setfacl -b .
$ setfacl -m u: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::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:bhm:rwx
default:user:test:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

$ 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::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:bhm:rwx
default:user:test:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

引用自:https://serverfault.com/questions/178167