我正在尝试设置 ACL,以便目录中的所有新子目录和文件自动继承其父级权限。据我所知,我可以通过为所有组和用户设置默认权限来实现这一点,这就是我所做的:
mkdir test
chown root:media test
chmod 775 test
chmod g+s test (so all directories and files are in the same group)
setfacl -dm g::rwx test
getfacl test
以下是最后一条命令的输出:
# file: test
# owner: dom
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
一切似乎都正确,但是当我在目录中创建文件时,它们没有正确的权限。
cd test
mkdir dir
touch file
ls -l
以下是最后一条命令的结果:
root@Server:/test# ls -l
total 4
drwxrwsr-x+ 2 root media 4096 Oct 27 19:24 dir
-rw-rw-r-- 1 root media 0 Oct 27 19:24 file
我正在使用带有 ext4 文件系统的 Ubuntu Server 14.04。
Ac 您可以看到目录具有正确的权限,但文件缺少执行权限。我也在另一个目录 (/mnt/disk1) 上尝试过此操作,文件也缺少读取权限。我做错了什么?
答案1
由于没有其他答案,我添加了我的答案,因为问题已得到一定解决。
由于一个三岁的孩子(!)coreutils 中的 cp/mv 不尊重父目录的默认 ACL 错误默认 ACL 权限不起作用,因此 ACL 对我来说不起作用。