
<?php echo `whoami`; ?>
Então isso está retornando 'root' e não sei como evitá-lo. Estou usando o WebHost Manager/CPanel, que deve criar vários usuários/vhosts e fazer com que o Apache gere seu processo como esse usuário/grupo. Isso não está acontecendo.
Se eu fizer login no WHM e abrir a seção Configuração de PHP e SuExec, minhas configurações serão:
Default PHP Version (.php files) 5
PHP 5 Handler cgi
PHP 4 Handler none
Apache suEXEC on
O que está errado? Como posso fazer com que o Apache seja executado como o usuário correto em vez de root?
Responder1
Se você deseja que cada site seja executado como seu próprio usuário, a configuração correta do PHP 5 Handler é 'suPHP' em vez de 'CGI'. Depois de alterar isso, você verá que seus whoami
relatórios são para usuários individuais.
Observe que pode ser necessário executar o EasyApache e selecionar "Mod SuPHP" durante esse processo para recompilar o Apache/PHP para que esta opção esteja disponível primeiro. Isso é feito em:
Principal >> Software >> EasyApache (Apache Update) ou na linha de comando/scripts/easyapache
Responder2
O próprio Apache provavelmente está rodando como usuário apache, mas graças ao SuExec, os scripts PHP que pertencem ao root serão executados como root. É por isso que seu whoami
comando retorna o usuário root.
Se você alterar o proprietário dos arquivos na raiz do documento para "apache" ou "www-data" (qualquer que seja o seu servidor), esse mesmo comando retornará o novo proprietário do arquivo.
Provavelmente também vale a pena garantir que todos os seus scripts PHP chmod 555
e diretórios não sejam de propriedade do mesmo usuário que os arquivos. Isto permitirá que o CGI execute os scripts, mas significará que se uma falha for encontrada em um dos scripts PHP, ele não será capaz de modificar a si mesmo ou qualquer outro script e não será capaz de criar um novo script em qualquer um dos diretórios. Ainda há muitas coisas que um invasor poderia fazer se encontrasse uma falha em um script PHP, mas vale a pena qualquer coisa que você possa fazer para tornar isso mais difícil para ele.