ubuntu php5-fpm 源,apache – 如何跟踪ubuntu上php5-fpm umask设置的位置

我真的很感激任何帮助,以追踪和诊断Ubuntu上的umask问题:

我通过proxy_fcgi与Apache运行php5-fpm.该进程以一个umask为0022进行运行(通过将PHP发送umask()的结果确认为一个文件[结果为’18’== 0022]).我想把它改成0002,但是不能跟踪umask来自哪里.

Apache设置为umask 0002,作为测试,如果我禁用proxy_fcgi并运行我的测试,我得到一个文件与你有rw访问(并且文件内容确认umask为’2’== 0002).

如果我sudo -iu fpmuser并运行umask,结果是0002.

系统信息:

> PHP:5.5.3-1ubuntu2.1

> Apache:2.4.6

> Ubuntu:13.10

> PHP-PFM列出使用TCP端口(因为Unix端口还没有工作/支持)

到目前为止,我已经尝试过以下操作(每个都是系统重新启动和重新测试):

>将umask 0002添加到/etc/init.d/php5-fpm的开头

>将–umask 0002添加到/etc/init.d/php5-fpm中的start-stop-daemon调用

将umask 0002添加到fpm用户的home中的.profile文件中

有些事情正在调整php-fpm进程的umask – 所以我该如何开始追踪什么是强制umask 0022到php-fpm进程?

编辑(1):

通过/etc/login.defs(参见How to set system wide umask?)调整系统范围的umask会影响其他地方的umask(例如,通过sudo的comannds现在有一个umask为0002),但仍然是php-fpm创建一个umask为0022的文件.请注意,我验证了会话可选pam_umask.so也存在于/etc/pam.d/common-session-noninteractive中,我测试了002和0002的umasks.

编辑(2):

>我已经能够使用nginx和php5-fpm(使用unix套接字设置为监听模式’0666′)来复制问题.

>我很想跟踪umask来自哪里,但是我会为了某种方式来解决这个问题.

>我应该补充说,第一个测试是在Amazon Ubuntu 13.10图像上完成的.我的测试在“编辑2”中完成,使用Ubuntu13.10服务器ISO安装从零开始虚拟机.所有的安装都是通过apt-get完成的,而不是通过下载源代码和构建.

编辑(3):

>我已经确认我可以通过以下任一方式手动操纵umask(通过检查创建的测试文件的权限来验证):

一个.在shell中,设置umask,然后从shell运行/usr/sbin / php-fpm

湾在shell中,运行以下任何umask值,我喜欢:

start-stop-daemon --start --quiet --umask 0002 --pidfile /var/run/php5-fpm.pid --exec /usr/sbin/php5-fpm -- --daemonize --fpm-config /etc/php5/fpm/php-fpm.conf

>但是,在/etc/init.d/php5-fpm文件中完全相同的命令在运行sudo服务php5-fpm stop时无法调整umask; sudo服务php5-fpm启动或重新启动.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值