以 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
看设置。