É incomum encontrar o Apache rodando como root
em qualquer configuração de estoque. Como você determinou que o Apache está sendo executado como root? Note que o Apache deve iniciar como root para se ligar a portas com privilégios, mas normalmente lança seus privilégios mais tarde.
Você pode examinar sua configuração do Apache (geralmente em /etc/httpd
ou /etc/apache2
, dependendo de sua distribuição) para as diretivas User
e Group
(documentado aqui ). Essas duas diretivas controlam sob qual ID de usuário o Apache é executado.
Também é incomum encontrar um sistema que tenha "nenhum outro grupo ou usuário". O que getent passwd
e getent group
mostram? Existem realmente outros usuários ou grupos que não sejam root
? A maioria das distribuições é enviada com um usuário apache
ou www-data
ou algo assim e uma configuração correspondente que executará o Apache como esse usuário.
Há uma variedade de guias introdutórios à configuração e segurança do Apache. Uma simples pesquisa no Google gera muitos resultados esperados. O Guia de Implantação do RedHat / CentOS é um bom lugar para começar (se você estiver em um sistema RedHat / CentOS).