Apache fast-cgi 和 php-fpm - 以所有者身份运行 PHP 文件

Apache fast-cgi 和 php-fpm - 以所有者身份运行 PHP 文件

我正在尝试设置 FastCGI 和 PHP-FPM,以便可以以文件所有者的身份执行 php 文件。我正在尝试用 FastCGI 和 fpm 替换 SuPHP。以前,我的文件夹有不同的所有者和组。每个组也有 www-data 作为成员。当使用浏览器运行任何 php 文件时,它都是以文件所有者的身份运行的。因此,如果文件归用户 A 所有(组 A - www-data 和 A 作为成员),则它以用户 A 的身份执行

shell_exec('whoami') => return A

现在,我安装了 fastcgi 并将其配置为运行 PHP 文件。

这是我的 php5-fpm.conf 文件

<IfModule mod_fastcgi.c>
                AddHandler php5-fcgi .php
                Action php5-fcgi /php5-fcgi
                Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
                FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
        </IfModule>

我的问题是,现在当我运行 A 拥有的同一个文件时,

shell_exec('whoami') => return www-data

是否可以使用 FastCGI 和 fpm (如使用 suPHP) 以所有者身份运行 php 文件?如果可以,我该怎么做?

答案1

是的,这是完全可能的。可以在 FPM 池配置中设置用户和组(指令usergroup)。

查看

http://php.net/manual/en/install.fpm.configuration.php

了解更多信息。

相关内容