Nginx/php-fpm umask设置

Dzi*_*mid 10 php permissions ubuntu nginx

当我使用apache2服务器时,umask在/ etc/apache2/envvars中设置默认值以0002用于解决我的所有权限问题.现在我正在尝试设置nginx/php-fpm,当使用不正确的权限创建文件时,我遇到了同样的问题.

umask在nginx或php-fpm中有设置吗?

tim*_*fly 7

摘自另一个答案的链接问题:

如果您使用systemd [即Ubuntu 16.04],则编辑/lib/systemd/system/php5-fpm.service
并编辑“服务”章节:

[Service]
UMask=0002
Run Code Online (Sandbox Code Playgroud)


art*_*bot 5

感谢Blossoming_Flower的答案以及unix.stackechange答案 ...

最好的方法似乎像Blossoming _Flower所说的那样做,但是用替代文件来完成它,而不是编辑可能由发行版的重新安装/升级代替的系统文件。

为此,您可以这样做(我使用的是php 7.0,但会根据您的版本进行调整)

systemctl edit php7.0-fpm.service
Run Code Online (Sandbox Code Playgroud)

它将自动在创建(或编辑,如果已经存在)文件/etc/systemd/system/php7.0-fpm.service.d/override.conf

您可以在该文件中单独放置Blossoming_Flower的建议内容。然后,Systemd将使用此设置覆盖发行版的设置,实际上是添加了umask设置。

然后就systemctl daemon-reload && systemctl restart php7.0-fpm完成了。


dan*_*ott 4

我设法通过添加 ( not ) 为自己解决umask 0002/etc/init/php-fpm.conf这个问题 /etc/init.d/php-fpm。有关说明,请参阅如何跟踪 php5-fpm umask 设置在 ubuntu 上的来源。