允许一组用户在给定目录中创建和写入文件

Mic*_*nko 5 users user-management groups

我想让包括 www-data 在内的不同用户在特定路径下协同工作。包括更新彼此的文件。

我做了一个新的群组网络图片

addgroup webimage
Run Code Online (Sandbox Code Playgroud)

adduser user1 webimage
adduser user2 webimage
adduser www-data webimage
Run Code Online (Sandbox Code Playgroud)

我更改了 imagedir 的权限

chown -R www-data:webimage image/
Run Code Online (Sandbox Code Playgroud)

并且user1可以写但是文件有权限

-rw-rw-r-- 1 user1       user1
Run Code Online (Sandbox Code Playgroud)

除了这个用户,没有人可以更新文件。我怎样才能让它以安全的方式工作。当然,在这个目录之外,每个用户文件都是私有的。

van*_*ium 8

您可以setgid为此设置位:

sudo chmod g+s image/
Run Code Online (Sandbox Code Playgroud)

这将导致在该目录中创建的任何文件都由与该目录相同的组拥有。因此,如果image由 group 拥有,则webimage在那里创建的任何文件都将由 group 拥有webimage。如果还为该组设置了读写权限,则该组的所有成员都可以更新文件。