![Автоматически разрешать пользователям из группы читать и записывать в поддерево новые каталоги и файлы](https://rvso.com/image/231046/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%20%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B0%D1%82%D1%8C%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%20%D0%B8%D0%B7%20%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D1%8B%20%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C%20%D0%B8%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8B%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B2%20%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%20%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B8%20%D0%B8%20%D1%84%D0%B0%D0%B9%D0%BB%D1%8B.png)
У меня есть каталог /data
, которым я хочу поделиться со всеми пользователями из datagrp
группы. Я установил все разрешения и сейчас у меня есть
drwxrwsr-x 2 root datagrp 4.0K Apr 22 14:52 /data
Теперь все пользователи могут читать и писать там, что нормально. Однако если пользователь usera
создает папку /data/a
, то другие пользователи не могут писать в нее, если я вручную не установлю разрешения. Я хотел бы, чтобы это было автоматически, то есть все, что находится внутри, /data
может видеть и изменять любой пользователь из datagrp
. Как это можно сделать?
Я уже пробовал
sudo chown :datagrp /data/
sudo chmod 770 /data/
sudo chmod g+s /data/
и
sudo setfacl -dm u::rw,g::rw,o::r /data
решение1
Либо нужно работать с ACL, либо пользователям нужно соответствующим образом настроить umask (который можно установить для каждого пользователя в каждой оболочке, чтобы сделать все более «интересным»). Если кто-то решит использовать разрешения posix, то можно будет регулярно менять разрешения с помощью cronjob.
umaks 002
установит umask, чтобы файлы и каталоги создавались с групповым разрешением на запись в этой оболочке.
setfacl -m default:group:datagrp:rwx /data
может подойти, если кто-то захочет использовать ACL.
решение2
Этот ответрешил мою проблему. Для быстрой справки:
sudo mkdir /data # create the directory
sudo chown :datagrp /data
sudo chmod 770 /data
sudo chmod g+s /data
sudo setfacl -Rm g:datagrp:rwX /data # Add an ACL with rwx permissions for the group to all the files already there
sudo setfacl -d -Rm g:datagrp:rwX /data # Add a default ACL with rwx permissions for the group usershare for all files created from now on