Не могу создавать файлы с пользователем `ubuntu` в` / var / www`

Я добавил пользователя 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 ?

0
задан 28 January 2016 в 03:19
1 ответ

Вы можете использовать бит "setgid" родительской папки (в данном случае "uploads"), и любой созданный в ней файл будет иметь указанное членство в группе независимо от создателя. Команда ниже. Вот хороший пост, который я нашел на "setgid": http://www.toptip.ca/2010/03/linux-setgid-on-directory.html

Setgid с помощью chmod: sudo chmod g + s / var / www / public / uploads / < ваша группа >

Надеюсь, это поможет!

0
ответ дан 5 December 2019 в 10:44

Теги

Похожие вопросы