Назад | Перейти на главную страницу

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

я добавил ubuntu пользователь к www-data group и установите права доступа к папке следующим образом:

sudo gpasswd -a "$USER" www-data
find /var/www -type f -exec chmod 0640 {} \;
sudo find /var/www -type d -exec chmod 2750 {} \;

Я могу проверить это ubuntu добавлен в группу (работает groups показывает 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

Установите идентификатор с помощью chmod: sudo chmod g + s / var / www / public / uploads / <ваша группа>

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