Linux:组权限用户有读写但不能互相删除文件

m00*_*00p 4 linux permissions

我想在我的 Debian 服务器上创建一个共享文件夹,以便用户可以创建和编辑文件,但不能删除该目录中彼此的文件。

/home/sharedfolder
Run Code Online (Sandbox Code Playgroud)

可以读写地图文件的用户在一个组中: work

我尝试了一些像这样的权限命令,但仍然没有成功:

setfacl -dm u::rwx,g::rwx,o::r /shared/directory
Run Code Online (Sandbox Code Playgroud)

我怎样才能达到我想要的?

Ole*_*den 10

共享文件夹的经典解决方案是粘性位,可防止删除其他用户的文件。最好的例子是/tmp目录。

因此,设置以下所有权:

chown root:work /shared/directory
Run Code Online (Sandbox Code Playgroud)

和权限:

chmod 3775 /shared/directory
Run Code Online (Sandbox Code Playgroud)

我会推荐以下 POSIX ACL?

setfacl -dm u::rwX,g::rwX,o::rX /shared/directory
Run Code Online (Sandbox Code Playgroud)

只有组的用户work可以编辑新创建的文件和目录,但不能删除彼此的文件。