无法使用 ACL 覆盖默认组权限

无法使用 ACL 覆盖默认组权限

我已在目录上设置此 ACL:

root@<server_ip>:/srv/www# getfacl example.com/
# file: example.com/
# owner: web
# group: www-data
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:dev:rwx <--
default:mask::rwx
default:other::r-x

我想授予该dev组所有访问权限 ( rwX)

然后我想要touch一个以组中用户身份登录的文件dev

luqo33@<server_ip>:/srv/www/example.com$ groups
dev 

我收到权限被拒绝的消息:

luqo33@<server_ip>:/srv/www/example.com$ touch test
touch: cannot touch ‘test’: Permission denied

为什么会发生这种情况?我的ACL好像没有效果。

答案1

嗯,我可以用以下命令重现这个

setfacl -m default:group:foogrp:rwx foodir

但在这种情况下,我什至无法chdir进入该目录(在应用 ACL 之前用户是否 chdir ?)。您需要使用默认组有什么原因吗?例如,类似以下事情之后会发生什么:

setfacl -k example.com
setfacl -m group:dev:rwx example.com

取消默认组并添加 ACL 以进行dev组访问。

相关内容