当我使用apache2服务器时,将/ etc / apache2 / envvars中的默认umask
设置为0002
,用于解决我的所有权限问题。现在我正在尝试设置nginx / php-fpm,当使用不正确的权限创建文件时,我遇到了同样的问题。
nginx或php-fpm中是否有umask
设置?
答案 0 :(得分:3)
我设法通过将umask 0002
添加到/etc/init/php-fpm.conf
(不 /etc/init.d/php-fpm
)来自行解决此问题。有关说明,请参阅How to trace where php5-fpm umask settings are coming from on ubuntu。
答案 1 :(得分:3)
取自其他答案的相关问题:
如果你使用systemd [即Ubuntu 16.04],然后编辑 /lib/systemd/system/php5-fpm.service
并编辑“服务”一章:
[Service]
UMask=0002
答案 2 :(得分:3)
感谢Blossoming_Flower's answer和answer on unix.stackechange ...
最好的方法似乎就像Blossoming _Flower所说的那样,但是用一个 override 文件而不是编辑可能由发行版的重新安装/升级代替的系统文件。
要执行此操作(我使用的是php 7.0,但会根据您的版本进行调整)
systemctl edit php7.0-fpm.service
它将自动在/etc/systemd/system/php7.0-fpm.service.d/override.conf
处创建(或编辑,如果已经存在)。
您可以将Blossoming_Flower的建议内容单独放在该文件中。然后,Systemd将使用此设置覆盖发行版的设置,实际上是添加了umask设置。
然后只需systemctl daemon-reload && systemctl restart php7.0-fpm
,您就完成了。