我有一个包含 3 个用户的测试组d
(来自 /etc.groups d:x:1004:u1,u2,u3
)
我已经创建了共享文件夹/home/test/photos
,其所有者为 root,组设置为 d。
我需要允许 d 组中的每个人都在该文件夹中写入并读取每个文件,但只有所有者才可以编辑/删除该文件。
我已尝试 setgid/setuid 但没有成功。
答案1
您需要粘性位,类似于/tmp
具有模式的位1777
。设置此位意味着只有所有者可以重命名或删除文件。
对于文件的权限,必须确保组权限是只读的。
如果不想修改用户的umask,setfacl
可以在目录上使用以下-d
选项:
从man setfacl
-d, --default
所有操作都适用于默认 ACL。
从man acl
此外,目录可能具有关联的 ACL,该 ACL 控制在该目录内创建的对象的初始访问 ACL;此 ACL 称为默认 ACL。
默认 ACL 指定应将什么 ACL(访问权限)应用于指定目录内的新文件和目录。