yaleksandr89
@yaleksandr89
PHP developer

Как настроить работу fpm в связке с nginx?

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

Хотелось бы уточнить, как настроить работу fpm (вплане безопасности) в связке с nginx. Интересует один вопрос: как сделать, что бы создаваемые файлы (проще прошения, если выразился некорректно) были доступны для редактирования/удаления текущим пользователем. Исходные данные:
  • Пользователь добавлен в группы nginx, www-data
  • Nginx стартует от имени пользователя www-data
  • Внесены изменения в /etc/php/7.4/fpm/pool.d/www.conf (мне кажеться настроен он не совсем правильно, хоть файлы сейчас и доступны для удаления/редактирования)


Конфиг www.conf (сюда не влез, поясню момент, который вызывает опасения):
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = user
group = www-data


Выходит, что fpm запускается от имени текущего пользователя и как мне кажеться это не совсем правильно. В данном вопросе "сильно плаваю", поэтому хотелось бы спросить - корректно ли это? И если нет, как лучше реализовать работу fpm, что бы создаваемые файлы были доступны для редактирования/удаления.
  • Вопрос задан
  • 80 просмотров
Решения вопроса 2
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Кто такой "текущий пользователь"? Какой-то человек, который заходит в интерактивном режиме на сервер по SSH/FTP и трогает файлы?

В таком случае нужно не его добавлять в техническую группу www-data - потому что это может дать ему доступ к общим конфигам и возможности рулить сервисами, а наоборот - www-data добавить в группу пользователя, чтобы веб-сервер и РНР могли трогать его файлы, но не наоборот.
Ответ написан
SagePtr
@SagePtr
Еда - это святое
Я обычно в папке fpm/pool.d/ для каждого юзера задаю отдельный пул, под которыми работают дочерние процессы php-fpm. У каждого пула - отдельный сокет, к которому подключается nginx. Отдельный сайт на сервере - отдельный юзер (чтобы при взломе одного из них не пострадали другие).
Скриптам, содержащим какие-либо конфиги или что-то конфиденциальное, меняю права на 600, чтобы nginx их не мог читать напрямую, а только через php-fpm дёргать на выполнение.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы