CPanel - Como impedir que o Apache seja executado como usuário root?

CPanel - Como impedir que o Apache seja executado como usuário root?
<?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 whoamirelató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 whoamicomando 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 555e 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.

informação relacionada