Я работаю в среде рабочего стола с Ubuntu 18.04.
У меня есть сервер Apache 2 с несколькими веб-сайтами в папке /var/www/
(каждый сайт находится в отдельной папке)
Сделал себя владельцем и назначил www-данные в качестве группы: sudo chown $USER:www-data -R /var/www
[ 117]
Исправлены разрешения: sudo chmod -R 774 /var/www
Все работает нормально, пока я не добавлю файл или не добавлю новый сайт (git pull). Новые файлы не будут приходить с группой www-data. Запрет Apache для запуска.
Это исправлено повторным выполнением sudo chmod -R 774 /var/www
, но это не похоже на исправление.
Что я делаю не так?
Редактировать: Кажется, git pull
не соответствует разрешениям, которые я установил ранее. Даже если родительская папка имеет правильно установленные разрешения.
Вам необходимо установить бит setgid для всех папок:
chown $USER:www-data -R /var/www
chmod -R g+s /var/www
Тогда каждый новый файл, созданный в «папке setgid», будет иметь группу родительской папки. Пользователь, создающий файл, должен находиться в группе www-data
. Права доступа к WWW-файлам могут быть ограничены вашим пользователем (чтение-запись) и группой www-data (только чтение), в то время как другие не имеют никаких прав :
chmod -R u=rwX,g=rs,o= /var/www