我可能错过了一些明显的东西......但我看不到它。
我在 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 问题。此帐户不是任何相关目录的所有者,也不是wheel
or的成员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 不会拒绝r
或x
. 我可以穿越到它。但我无法阅读其内容。
我错过了什么?
现在探索和重现,作为 FreeBSD ACL 评估中的错误提交:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228538