如何为www-data用户设置umask?

时间:2016-09-02 10:42:55

标签: php umask

我目前正在使用PHP 7.0.6 fpm运行Apache / 2.4.10(Debian Jessie)

现在我需要将umask 0002添加到php-fpm.conf中,以便www-data用户创建具有rw-rw-r权限的文件。

2 个答案:

答案 0 :(得分:0)

我希望这会有效,请尝试这种方式

手动修改/etc/systemd/system/multi-user.target.wants/ php7.0-fpm.service文件并在[服务]部分添加UMask=0002行。

以前,就像这样。

enter image description here

然后

运行命令systemctl daemon-reload

然后

运行命令systemctl restart php7.0-fpm.service

现在服务文件如下所示:

[Unit]
Description = The PHP FastCGI Process Manager
After = network.target

[Service]
Type = notify
PIDFile = /var/run/php/php7.0-fpm.pid 
ExecStartPre = /usr/lib/php/php7.0-fpm-checkconf
ExecStart = /usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/fpm/php-fpm.conf
ExecReload = /bin/kill -USR2 $MAINPID
; Added to set umask for files created by PHP
UMask = 0002

[Install]
WantedBy = multi-user.target

NB:您不能使用systemctl编辑php7.0-fpm.service命令,因为systemctl版本218中引入了编辑选项,但Debian 8附带版本215

答案 1 :(得分:0)

关于威廉·特瑞尔的评论:

sudo -u www-data touch foo 将触及文件 foo,就好像网络服务器在没有 PHP 的情况下完成了它。因此,将使用网络服务器进程 umask,而不是 PHP-FPM 中设置的进程。要更改网络服务器进程 umask,您需要编辑 envvars 中的 /etc/apache2 文件(适用于基于 Debian 的系统)。