我刚刚安装了 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