Shell

getfacl 說我的非特權帳戶應該能夠讀取目錄的內容,但它不能

  • May 27, 2018

我可能錯過了一些明顯的東西……但我看不到它。

我在 FreeBSD 上有一個由 NFSv4 ACL 控制的普通目錄。ACL 說我可以列出它的內容;但我不能。

這是getfacl問題目錄及其父級+祖父級的輸出:

# getfacl /mnt/data_dir/working_dir/
# owner: root
# group: wheel
group:data_managers:-w-pDd--------:-------:deny
everyone@:r-------------:-------:allow
group:data_managers:rwxpDda-R-c---:fd-----:allow
owner@:--------------:fd-----:allow
group@:--------------:fd-----:allow
everyone@:--x-----------:-d-----:allow

 # file: /mnt/data_dir
# owner: root
# group: wheel
owner@:rwxpDdaARWcCos:fd-----:allow
group@:rwxpDdaARWcCos:fd-----:allow
everyone@:r-x---a-R-c---:fd-----:allow

 # file: /mnt
# owner: root
# group: wheel
user::rwx
group::r-x
other::r-x

su作為新創建的帳戶有 ACL 問題。此帳戶不是任何相關目錄的所有者,也不是wheelor的成員data_managers,因此它的唯一權利源自“每個人(世界)”權限/ACL。

$ su -f restricted_user
% id
uid=1100(restricted_user) gid=65533(nogroup) groups=65533(nogroup),4003(restricted_users)
% pwd
/mnt/data_dir/working_dir
% ls
ls: .: Permission denied

我不明白。該目錄的世界權限是everyone@:r .....(向下繼承到“x”但不是“r”的子目錄)。r應授予全球範圍內閱讀working_dir. 它不是 的成員,data_managers如果是,則拒絕 ACE 不會拒絕rx. 我可以穿越到它。但我無法閱讀其內容。

我錯過了什麼?

現在探索和重現,作為 FreeBSD ACL 評估中的錯誤送出:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228538

引用自:https://unix.stackexchange.com/questions/443029