![Sci Linux 6 ext4 上的 ACL 表现不如我想象的那样](https://linux22.com/image/552003/Sci%20Linux%206%20ext4%20%E4%B8%8A%E7%9A%84%20ACL%20%E8%A1%A8%E7%8E%B0%E4%B8%8D%E5%A6%82%E6%88%91%E6%83%B3%E8%B1%A1%E7%9A%84%E9%82%A3%E6%A0%B7.png)
我刚刚安装了 Scientific Linux 6,正在试用 acls。所有文件系统都是 ext4。
在这种特殊情况下,我认为已经设置了 acl,以便管理员组中的任何用户都对 /usr/src 具有 rwx 访问权限。
# setfacl -R -m d:g:admin:rwx /usr/src
# exit
exit
[~]$ getfacl /usr/src
getfacl: Removing leading '/' from absolute path names
# file: usr/src
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:admin:rwx
default:mask::rwx
default:other::r-x
但是,退出并重新登录:
[~]$ touch /usr/src/test
touch: cannot touch `/usr/src/test': Permission denied
该用户属于管理员组:
[~]$ id
uid=500(xx) gid=500(xx) groups=500(xx),997(admin)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
现在,我看到“group”是r-x
,但我的理解是,它仅适用于拥有的gid(在本例中为500)。
那么我在这里做错了什么或者遗漏了什么?
答案1
您有一个 SELinux 上下文,所以我不会排除 SELinux 阻止您写入/usr/src
(检查 audit.log 以获取相关消息)。
但是,对于 ACL 本身,default:
目录上的 ACL 用于您在该目录中创建的对象,因此d:g:admin:rwx
意味着目录中创建的内容可由管理员写入,而不是目录本身可由管理员组写入。尝试g:admin:rwx