Usuário da web correto para PHP-FPM sob Nginx

1

Sempre acostumei-me a executar o PHP no Nginx como o usuário www-data , para tudo: serviço php, cron, CLI, etc. Recentemente, depois de ler primeiro este artigo e depois < href="http://devdocs.magento.com/guides/v2.0/cloud/before/before-workspace-file-sys-owner.html"> este artigo , eu gostaria de saber Quão necessário é executar esses serviços usando um usuário diferente? Isto é para uma única aplicação Magento 2 no servidor.

É suficiente criar um novo usuário:

adduser magento2user
passwd magento2user

usermod -a -G www-data magento2user

Em seguida, em php /usr/local/etc/php-fpm.d/www.conf :

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

E finalmente:

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

Minha confusão está vindo disso nos Magento 2 DevDocs :

We recommend two users if you run your own Magento server: one to transfer files and run command-line utilities, and a separate user for the web server software. When possible, this is preferable because it’s more secure.

Instead, you have separate users:

• The web server user, which runs the Magento Admin (including Setup Wizard) and storefront.

• A command-line user, which is a local user account you can use to log in to the server. This user runs Magento cron jobs and command-line utilities.

Portanto, o PHP-FPM deve ser executado como www-data , mas os arquivos pertencem a magento2user que pertence ao grupo www-data ?

EDIT depois da resposta de Simon Greenwood abaixo

Se eu executar ps aux | grep nginx | grep -v grep , recebo a seguinte saída:

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

... então eu não acho que eu precise de uma entrada em 'etx/nginx/nginx.conf que leia user www-data

    
por maGz 18.12.2017 / 13:04

1 resposta

2

Eu recomendaria a execução de nginx como o usuário do sistema, portanto, www-data no seu caso e php-fpm como usuário não privilegiado, que pode ser o mesmo que o usuário do shell. Você não precisa ter seu usuário não privilegiado no grupo www-data , pois nginx passa as solicitações para php-fpm . para execução. A configuração sugerida pelos documentos do Magento assume apache e mod_php , o que exigiria a configuração de permissões conforme descrito acima.

    
por 18.12.2017 / 13:31