Apache rodando como root em vez do usuário especificado em httpd.conf

Apache rodando como root em vez do usuário especificado em httpd.conf

Estou tentando permitir que o WordPress faça upload de arquivos para a pasta wp-content sem definir as permissões da pasta para 777. No entanto, estou tendo algumas dificuldades.

O grupo e o usuário definidos para a pasta wp-content correspondem ao grupo e ao usuário que o Apache está configurado para usar no httpd.conf. No entanto, quando executo o comando abaixo, parece que o Apache está realmente sendo executado como root em vez do usuário especificado em httpd.conf.

Configuração httpd.conf

Usuário xxx
Grupo aaaa

Execução de comando para determinar se o usuário Apache está sendo executado como

ps aux | grep httpd

Saída do comando acima

513 1294 0,4 ​​1,4 316420 54864 ? S 08:30 0:06 /usr/sbin/httpd

513 é o UID correto para o usuário xxx, então aparece corretamente. No entanto, ainda não consigo fazer upload de arquivos no WordPress sem definir as permissões da pasta wp-content como 777.

Alguém pode me dizer qual é o problema aqui?

Responder1

O Apache sempre precisa iniciar como root, então ele usa setuid para mudar para o contexto do usuário especificado em httpd.conf.

Sem root (uid = 0) você não pode criar soquete de escuta em portas privilegiadas (abaixo de 1024)

Para obter detalhes, leia estes documentos:

Do primeiro link:

# ps -ef | grep -i http | awk '{print $1}'
root
apache
apache
apache
apache
apache

informação relacionada