设置默认 ACL 未按预期工作

设置默认 ACL 未按预期工作

我将要开发一个 Web 项目,因此www里面有一个 -folder $HOME。我希望此文件夹归属于user组,并归属于 组www-data。我发出:

mkdir $HOME/www
chmod g+rxs,u+rwx,o-rwx $HOME/www
chown user.www-data $HOME/www

然后ls -alh | grep www给出:

drwxr-s---  2 user www-data     4,0K Aug 10 17:33 www

此外,我希望设置默认权限,而不管创建进程的权限如何。所以我这样做:

setfacl -m d:u::rwx,d:g::rx,d:o::- $HOME/www

然后getfacl $HOME/www给出:

# file: www
# owner: user
# group: www-data
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:other::---

现在我cd进入新创建的文件夹一个问题:

touch testfile

然后ls -alh | grep testfile给出:

-rw-r-----   1 user www-data    0 Aug 10 17:44 testfile

如您所见,www-data由于setgid位,组被继承了。但是目录中的默认 ACL$HOME/www未被继承(正如我所料)。$HOME与相比,具有不同的默认 ACL $HOME/www- 但我希望手动覆盖子目录默认 ACL 的工作相当简单。

我希望子目录和文件$HOME/www具有上面给出的默认权限。我这里遗漏了什么?

答案1

默认情况下,文件不具有执行权限。目录具有。尝试创建一个目录,它应该具有预期的权限。文件应该具有预期的默认权限减去执行权限。

相关内容