@dfsaraev
Изучаю linux, немного html и css.

Как корректно разделить сайты по пользователям и php-fpm пулам?

Доброго дня!
Есть веб сервер: Debian, Ningx, php-fpm, на нем несколько сайтов (wordPress), для простоты примера, пусть будет два сайта: site1 и site2. Пытаюсь изолировать сайты друг от друга, но что-то идет не так.
Nginx работает от имени www-data.

site1 - владелец www-site1:www-data, права на каталоги 750, права на файлы 640.
site2 - владелец www-site2:www-data, права на каталоги 750, права на файлы 640.

Сайты работают каждый под своим пулом php-fpm, конфиги пулов следующие:
[www-site1(2)]
user = www-site1(2)
group = www-site1(2)
listen = /run/php/php7.3-fpm-site1(2).sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
env[PATH] = /usr/local/bin:/usr/bin:/bin


При таком положении дел сайты работают, но если обновить через админку, например, тему - то на вновь созданные/измененные файлы и каталоги владельцем устанавливается www-site1(2):www-site1(2). Разумеется и доступа к этим файлам у nginx нет.

Как правильно выставить права, чтобы доступ к сайту имел только один пользователь и nginx?
Добавить www-data в группы пользователей? Насколько это безопасно?
Изменить конфиг php-fpm, чтобы владельцем создаваемых файлов и каталогов был www-site1(2):www-data? Что именно изменить?
  • Вопрос задан
  • 195 просмотров
Решения вопроса 1
Adamos
@Adamos
Как правильно выставить права, чтобы доступ к сайту имел только один пользователь и nginx?

Добавить nginx в группы www-site1 и www-site2.
Запуск сайтов от имени группы www-data приведет к тому, что пользователи увидят сайты друг друга.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@krash1408
chmod на директории 0755, на файлы 0644.
chown -R site1:site1 /web/site1
В результате юзер nginx читает файлы, а php-fpm пишет файлы и директории.
Ответ написан
Ваш ответ на вопрос

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

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