![使用 setfacl -d 时用户无有效访问权限](https://linux22.com/image/176161/%E4%BD%BF%E7%94%A8%20setfacl%20-d%20%E6%97%B6%E7%94%A8%E6%88%B7%E6%97%A0%E6%9C%89%E6%95%88%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90.png)
我有一个目录想与两个特定用户共享。它还没有内容,但我需要我们三个人都能够添加文件和子目录,并且所有内容(至少默认情况下)继承相同的权限非常重要。我们三个人拥有完全的访问权限——其他人什么也得不到。
我认为我已经通过以下方式实现了这个目标:
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