在 systemd 中设置 php-fpm umask

set php-fpm umask in systemd

我查看了其他几个答案,其中 none 有效。例如:

这是设置。

我有一个 cakePHP 2 应用程序 运行 apache 作为 php-fpm 在 RHEL 7 上的反向代理。

我已经创建了一个特定于站点的用户,我们称之为 siteuser。

此站点的虚拟主机将为站点用户 user/group 执行 'SuexecUserGroup。

我已将 php-fpm 用户添加到 siteuser 组。

cakePHP 2 中有特定的目录必须是可写的。我已将这些目录设置为组可写并设置 S 位,以便在组完整的情况下创建新文件。

此外,我为php-fpm设置了systemd UMask如下:

/etc/systemd/system/php-fpm.service.d/override.conf

[Service]
UMask=113

保存此文件后,我执行 systemctl daemon-reload && systemctl restart php-fpm.

但是,文件被写入 777 而不是我期望的 664。

我错过了什么?

请将 0 添加到您的 umask 以获得 特殊权限位 (即 sticky、setuid、setgid 等)

[Service]
UMask=0113

更新:

似乎您的更改根本没有被识别... 我刚刚注意到您在 override.conf 文件中进行了设置。在这种情况下,您需要确保主配置中包含 override.conf(IIRC:php5-fpm.service.conf 在同一文件夹中)。

此外,请查看此 serverfault question,其中可能包含更多信息。