使用 setfacl -d 时用户无有效访问权限

使用 setfacl -d 时用户无有效访问权限

我有一个目录想与两个特定用户共享。它还没有内容,但我需要我们三个人都能够添加文件和子目录,并且所有内容(至少默认情况下)继承相同的权限非常重要。我们三个人拥有完全的访问权限——其他人什么也得不到。

我认为我已经通过以下方式实现了这个目标:

setfacl -m u:myfriend:rwx Directory
setfacl -d -m u:myfriend:rwx Directory

但是当我在目录中创建测试文件时,我看到以下内容:

$$$ getfacl TESTFILE
# file: TESTFILE
# owner: me
# group: me
user::rw-
user:myfriend:rwx                     #effective:---
group::---
mask::---
other::---

我认为掩码是问题所在,但目录上的掩码不匹配。这是我在目录上运行 getfacl 时得到的结果:

$$$ getfacl .
# file: .
# owner: me
# group: me
user::rwx
user:myfriend:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:myfriend:rwx
default:group::---
default:mask::rwx
default:other::---

我在这里做错了什么?谢谢!

答案1

创建文件后,某些内容会更改该文件的 ACL 掩码。这是不应该发生的。我不能说这是如何发生的,但众所周知它会发生。

setfacl对该文件的任何调用都应该纠正该问题(除非--no-mask给出)。您也可以显式设置掩码:

setfacl -m m:rw filename

相关内容