Como executar arquivos PHP como outro usuário com Apache e FastCGI?

5

De acordo com perguntas mais antigas, como usando mod_fcgid em vez de mod_php e PHP como CGI ou Módulo Apache? (e tangencialmente alguns outras perguntas Eu entendi que executar PHP como CGI ou FastCGI faria com que meus arquivos .php fossem executados como o proprietário ao invés do apache usuário (usuário que executa o Apache).

A função phpinfo(); indica que Server API = CGI/FastCGI

No entanto, quando testo o usuário em execução, ainda é apache , ou seja. <?php echo exec('whoami'); ?> retorna apache .

Eu também tentei o que Jeremy Bouse sugeriu em uma questão que mencionei, mas o PHP whoami ainda retorna apache .

O fato de o "API do servidor" do phpinfo ser igual a "CGI / FastCGI" é adequado para usuários regulares executarem os arquivos php como proprietários?

(Isso indica que o PHP não está rodando com o mod_php?)

Ou há algumas tarefas administrativas ainda a serem feitas ou algo que provavelmente está mal configurado?

    
por Jari Keinänen 24.01.2011 / 22:36

2 respostas

4

IMHO a (mais recente e) melhor maneira de executar o PHP FastCGI está usando PHP-FPM , que entre as muitas opções também permite para usar usuários diferentes em sites diferentes.

Do site oficial :

Ability to start workers with different uid/gid/chroot/environment and different php.ini (replaces safe_mode)

Mas o uso do FastCGI por si só não é suficiente para usar o proprietário do arquivo (e não existe "automaticamente usando o proprietário do arquivo": você tem que realmente configurá-lo virtual host por host virtual (ou como você deseja).

    
por 29.01.2011 / 09:48
2

O Suexec pode executar cgi como usuários que não sejam o usuário do apache. Se você quiser rodar PHP como este, você pode também estar interessado em suPHP .

    
por 24.01.2011 / 23:21