Я хочу, чтобы разные пользователи, включая www-data, работали вместе по определенному пути. включая обновление файлов друг друга.
Я создал новый групповой веб-образ
addgroup webimage
и
adduser user1 webimage
adduser user2 webimage
adduser www-data webimage
Я изменил права доступа для образа imagedir
chown -R www-data:webimage image/
и user1
может писать, но файл имеет разрешения
-rw-rw-r-- 1 user1 user1
, и никто не может обновить файл, но этот пользователь. Как я могу заставить это работать безопасным образом. Конечно, вне этого каталога каждый пользовательский файл, как обычно, является личным.
Для этого можно установить бит setgid
:
sudo chmod g+s image/
Это приведет к тому, что любой файл, созданный в этом каталоге, будет принадлежать той же группе, что и каталог. Таким образом, если изображение
принадлежит группе webimage
, любой файл, созданный там, будет принадлежать группе webimage
. Если также установлены права на чтение и запись для группы, все члены группы смогут обновлять файл.