目录上的 setfacl 似乎对子目录的默认权限不起作用

目录上的 setfacl 似乎对子目录的默认权限不起作用

以 root 身份创建目录 /Logs/case1 并将 ACL 设置为默认组“mygroup”权限为“rwx”后,创建的任何子目录都不会继承这些权限

$ mkdir /Logs/case1    
$ setfacl -m g:mygroup:rwx /Logs/case1

设置后的 ACL 如下:

gc@logs:/Logs$ getfacl case1
# file: case1
# owner: root
# group: root
user::rwx
group::r-x
group:mygroup:rwx
mask::rwx
other::r-x

现在,作为系统的普通用户,我应该在 /Logs/case1 下创建一个子目录

$ mkdir /Logs/case1/12345

gc@logs:/Logs/case1$ ls -lrt
total 4
drwxr-xr-x 2 gc mygroup 4096 Dec  1 00:16 12345

gc@logs:/Logs/case1$ getfacl 12345/
# file: 12345/
# owner: gc
# group: mygroup
user::rwx
group::r-x
other::r-x

为什么此目录“/Logs/case1/12345”没有继承组“mygroup”的父目录 ACL - “rwx”?

以下是分配给用户“root”和“gc”的组

$ groups root
root : root

$ groups gc
gc : mygroup

答案1

您为 /Logs/case1 设置了文件 ACL,但没有设置默认 ACL。文件 ACL 不会被继承,但默认 ACL 会被继承。要添加默认 ACL,请执行以下操作:

setfacl -m g:mygroup:rwx,d:g:mygroup:rwx /Logs/case1

设置

相关内容