Задать вопрос

Какие правильные права на файлы и директории web-проекта?

Здравствуйте.

Имеется сервер на Linux (nginx + php5-fpm) с web-проектом. В общем случае, имеются папки с кодом проекта, папка web с фронт-контроллером и ресурсами, папки с загружаемыми пользователями файлами, а также папка с логами и кэшем.

Подскажите, пожалуйста, какие права на какие папки/файлы должны быть и у какого пользователя? Для nginx в конфиге прописан пользователь www, но сейчас nginx запускается из-под рута, в связи с чем в браузере открываются даже файлы из папки web с отключенными разрешениями на чтение, как правильно исправить эту проблему?
  • Вопрос задан
  • 10088 просмотров
Подписаться 6 Оценить Комментировать
Ответ пользователя tahoa_cleo К ответам на вопрос (3)
@tahoa_cleo
Для nginx в конфиге прописан пользователь www, но сейчас nginx запускается из-под рута,
1. зачем было менять дефотного юзера, www создан?
2. а как по вашему должен стартовать nignx? Рекомендую к прочтению. Так же уделите внимание на master process и worker process
3. Надеюсь, что к настройке php5-fpm был подход с толком и поэтому для каждого домена был создан свой пул. Ну так вот, в пуле php5-fpm требует валидных user и group для document root.
4. Подводя итог, права на папки - 755, на файлы - 644, owner user:group
hint:
find /var/www/vhosts/myperfectwebsite.com -type d -exec chmod 0755 {} \;
find /var/www/vhosts/myperfectwebsite.com -type f -exec chmod 0644 {} \;

совет: эта тема очень важна, поэтому на неё стоит потратить 2-4 часа.
Ответ написан
Комментировать