Правильный веб-сайт пользователь PHP-FPM под Nginx

Я всегда привык запускать PHP под Nginx в качестве пользователя www-data для всего: службы php, cron, CLI и т. д. Однако недавно, после прочтения Читайте сначала эту статью , а затем эту статью , я хотел бы знать, насколько необходимо запускать эти службы с использованием другого пользователя? Это для одного приложения Magento 2 на сервере.

Достаточно ли создать нового пользователя:

adduser magento2user
passwd magento2user

usermod -a -G www-data magento2user

Затем в php /usr/local/etc/php-fpm.d/www.conf :

[www]  
user = magento2user
group = magento2user
...
listen.owner = www-data
listen.group = www-data

И наконец:

chown -R magento2user:www-data /var/www/html

Моя путаница возникает из-за этого на Magento 2 DevDocs :

Мы рекомендуем двух пользователей, если вы используете свой собственный сервер Magento: одного для передачи файлов и запуска утилит командной строки и отдельного пользователя для программного обеспечения веб-сервера. По возможности, это предпочтительнее, потому что это более безопасно.

Вместо этого у вас есть отдельные пользователи:

• Пользователь веб-сервера, который запускает Magento Admin (включая мастер установки) и витрину.

• Команда - line user, которая представляет собой локальную учетную запись пользователя, которую вы можете использовать для входа на сервер. Этот пользователь запускает задания cron Magento и утилиты командной строки.

Таким образом, PHP-FPM должен запускаться как www-data , но файлы принадлежат magento2user , который принадлежит к группе www-data ?


ИЗМЕНИТЬ после ответа Саймона Гринвуда ниже

Если я запустил ps aux | grep nginx | grep -v grep Я получаю следующий результат:

1 www-data   0:00 nginx: master process nginx -g daemon off;
7 www-data   0:00 nginx: worker process

... поэтому я не думаю, что мне нужна запись в 'etx / nginx / nginx.conf , которая читает user www-data

2
задан 18 December 2017 в 15:37
1 ответ

Я бы рекомендовал запустить nginx как системный пользователь, поэтому www-data в вашем случае и php-fpm как непривилегированный пользователь, который может быть таким же, как пользователь оболочки. Вам не обязательно иметь вашего непривилегированного пользователя в группе www-data , поскольку nginx передает запросы на php-fpm . для исполнения. Настройка, предложенная в документации Magento, предполагает apache и mod_php , что потребует настройки разрешений, как описано выше.

2
ответ дан 3 December 2019 в 11:27

Теги

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