Я добавил пользователя ubuntu
в группу www-data
и установил права доступа к папке следующим образом:
sudo gpasswd -a "$USER" www-data
find /var/www -type f -exec chmod 0640 {} \;
sudo find /var/www -type d -exec chmod 2750 {} \;
Я могу проверить, что ubuntu
был добавлен в группу (при выполнении групп
отображается ubuntu www-data
). Я могу получить доступ и прочитать любые файлы и каталоги в каталоге / var / www как ubuntu
.
Я хочу предоставить права записи пользователю ubuntu
в определенные каталоги. Запуск sudo chmod -R g + w / var / www / public / uploads /
дает ubuntu
доступ для записи в эту папку.
Проблема в том, что когда www -data
создает новые каталоги в / var / www / public / uploads /
, ubuntu
не имеет разрешения на запись в эти вновь созданные каталоги.
То есть, когда www-data
создает / var / www / public / uploads / some- new-folder /
, ubuntu
не может касаться файлов в some-new-folder
.
Как я могу изменить разрешения, чтобы любые файлы и каталоги, созданные ] www-data
в определенных путях будет также доступен для записи ubuntu
?
Вы можете использовать бит "setgid" родительской папки (в данном случае "uploads"), и любой созданный в ней файл будет иметь указанное членство в группе независимо от создателя. Команда ниже. Вот хороший пост, который я нашел на "setgid": http://www.toptip.ca/2010/03/linux-setgid-on-directory.html
Setgid с помощью chmod: sudo chmod g + s / var / www / public / uploads / < ваша группа >
Надеюсь, это поможет!