【发布时间】:2012-07-20 00:08:35
【问题描述】:
当我使用 apache2 服务器时,将 /etc/apache2/envvars 中的默认 umask 设置为 0002 用于解决我所有的权限问题。现在我正在尝试设置 nginx/php-fpm,当使用不正确的权限创建文件时,我遇到了同样的问题。
nginx或php-fpm中是否有umask设置?
【问题讨论】:
标签: php ubuntu nginx permissions
当我使用 apache2 服务器时,将 /etc/apache2/envvars 中的默认 umask 设置为 0002 用于解决我所有的权限问题。现在我正在尝试设置 nginx/php-fpm,当使用不正确的权限创建文件时,我遇到了同样的问题。
nginx或php-fpm中是否有umask设置?
【问题讨论】:
标签: php ubuntu nginx permissions
感谢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 就完成了。
【讨论】:
取自另一个答案的链接问题:
如果你使用 systemd [即Ubuntu 16.04],然后编辑 /lib/systemd/system/php5-fpm.service
并编辑章节“服务”:
[Service]
UMask=0002
【讨论】:
/etc/systemd/system/<service>.service.ddirs覆盖设置。
我设法通过将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 了解说明。
【讨论】: