加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

如何在Debian上为php5-fpm设置umask?

发布时间:2020-12-13 21:04:58 所属栏目:Nginx 来源:网络整理
导读:我正在运行php5-fpm,通过端口(不是套接字)连接nginx.这是Debian Jessie的库存,所有包都是通过apt-get安装的. 我正在尝试更改php5-fpm从0022到0002使用的www-data用户的默认umask以允许组写权限.我试过了: 编辑/etc/init.d/php5-fpm初始化脚本并将umask 0002

我正在运行php5-fpm,通过端口(不是套接字)连接nginx.这是Debian Jessie的库存,所有包都是通过apt-get安装的.

我正在尝试更改php5-fpm从0022到0002使用的www-data用户的默认umask以允许组写权限.我试过了:

>编辑/etc/init.d/php5-fpm初始化脚本并将–umask 0002添加到start-stop-daemon调用,但它被忽略;
>将umask 0002添加到/var/www/.profile作为/ var / www是www-data用户的主目录,但它没有帮助(我并不感到惊讶).
>我没有使用暴发户,所以this solution不适合我.

此外,无论我尝试过什么,命令sudo -u www-data bash -c umask总是返回0022.

最佳答案
我能够通过编辑它的unit.service文件来设置php5-fpm服务的umask,如建议的here和here.Debian 8的完整和可用的解决方案是这样的:

>手动编辑/etc/systemd/system/multi-user.target.wants/php5-fpm.service文件,并在[Service]部分中添加UMask = 0002行.
>运行命令systemctl daemon-reload
>运行命令systemctl restart php5-fpm.service

现在服务文件如下所示:

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

[Service]
Type = notify
PIDFile = /var/run/php5-fpm.pid
ExecStartPre = /usr/lib/php5/php5-fpm-checkconf
ExecStart = /usr/sbin/php5-fpm --nodaemonize --fpm-config /etc/php5/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

注意:

>您不能使用systemctl edit php5-fpm.service命令,因为编辑选项是在systemctl版本218中引入的,但Debian 8附带版本215.
>根据answer的评论中的建议添加* .conf文件对我来说不起作用,但也许我搞砸了一些东西(欢迎评论,因为编辑单元文件不是我觉得舒服的东西).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读