我真的很感激在Ubuntu上追踪和诊断umask问题的任何帮助:
我正在php5-fpm使用Apache 运行proxy_fcgi.该进程使用0022的umask运行(通过让PHP将结果发送umask()到文件[结果为'18'== 0022]确认).我想将其更改为0002,但无法追踪umask的来源.
使用umask 0002设置Apache,作为测试,如果我禁用proxy_fcgi并运行上面的测试,我会得到一个u + g具有rw访问权限的文件(文件内容确认umask为'2'== 0002).
如果我sudo -iu fpmuser和运行umask结果都是0002.
系统信息:
到目前为止,我已经尝试了以下(每个系统重启和重新测试后):
umask 0002到开头/etc/init.d/php5-fpm--umask 0002到start-stop-daemon调用中/etc/init.d/php5-fpmumask 0002到用户.profile的家中fpm有些东西显然正在调整php-fpm进程的umask - 所以,我怎样才能开始跟踪强制umask 0022进入php-fpm进程的内容?
编辑(1):
/etc/login.defs(请参阅如何设置系统范围的umask?)会影响其他地方的umask(例如,sudo现在的comannds 有一个0002的umask),但是php-fpm仍会创建一个umask为0022的文件.请注意,我验证了session optional pam_umask.so也出现了/etc/pam.d/common-session-noninteractive,我测试了002和0002的umasks.编辑(2):
nginx和复制问题php5-fpm(使用unix套接字设置为监听模式'0666').编辑(3): …