当我使用 apache2 服务器时,umask
在 /etc/apache2/envvars 中设置默认值0002
来解决我所有的权限问题。现在我正在尝试设置 nginx/php-fpm,当使用不正确的权限创建文件时,我遇到了同样的问题。
umask
nginx或php-fpm中有设置吗?
当我使用 apache2 服务器时,umask
在 /etc/apache2/envvars 中设置默认值0002
来解决我所有的权限问题。现在我正在尝试设置 nginx/php-fpm,当使用不正确的权限创建文件时,我遇到了同样的问题。
umask
nginx或php-fpm中有设置吗?
感谢Blossoming_Flower 的回答和unix.stackechange 上的回答...
最好的方法似乎就像 Blossoming _Flower 所说的那样,但是使用覆盖文件而不是编辑可能被您的发行版重新安装/升级替换的系统文件。
要做到这一点(我在 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
完成了。
取自另一个答案的链接问题:
如果您使用 systemd [即 Ubuntu 16.04],则编辑/lib/systemd/system/php5-fpm.service
并编辑章节“服务”:
[Service]
UMask=0002
我设法通过添加( not )umask 0002
为自己解决了这个问题。有关说明,请参阅如何在 ubuntu 上跟踪 php5-fpm umask 设置的来源。/etc/init/php-fpm.conf
/etc/init.d/php-fpm