Я пытаюсь настроить FastCGI и PHP-FPM, чтобы файл php мог выполняться как владелец файла. Я пытаюсь заменить SuPHP на FastCGI и fpm. Раньше у меня были папки с разными владельцами и группами. Каждая группа также имела www-данные в качестве члена. Когда любой файл 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
Можно ли запустить php-файл от имени владельца с помощью FastCGI и fpm (как с suPHP)? Если да, то как мне это сделать?
Да, это вполне возможно. Пользователь и группа могут быть установлены в конфигурации пула FPM (директивы user
и group
).
Проверьте
http://php.net/manual/en/install.fpm.configuration.php
Чтобы получить больше информации.