Nginx/php-fpm umask 设置
Posted
技术标签:
【中文标题】Nginx/php-fpm umask 设置【英文标题】:Nginx/php-fpm umask setting 【发布时间】:2012-07-20 00:08:35 【问题描述】:当我使用 apache2 服务器时,将 /etc/apache2/envvars 中的默认 umask
设置为 0002
用于解决我所有的权限问题。现在我正在尝试设置 nginx/php-fpm,当使用不正确的权限创建文件时,我遇到了同样的问题。
nginx或php-fpm中是否有umask
设置?
【问题讨论】:
【参考方案1】:感谢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
就完成了。
【讨论】:
【参考方案2】:取自另一个答案的链接问题:
如果你使用 systemd [即Ubuntu 16.04],然后编辑 /lib/systemd/system/php5-fpm.service 并编辑章节“服务”:
[Service]
UMask=0002
【讨论】:
最好不要自己更改服务文件。或者有一天,当相应的包更新时,更改会丢失。通过/etc/systemd/system/<service>.service.d
dirs覆盖设置。【参考方案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 了解说明。
【讨论】:
以上是关于Nginx/php-fpm umask 设置的主要内容,如果未能解决你的问题,请参考以下文章