Pergunta

Eu corro php 5.2.6 como um cgi sob lighttpd 1.4 e por algum motivo ele está sempre correndo como root. Todos os processos php-cgi em são de propriedade da raiz e todos os arquivos gravados no sistema de arquivos são de propriedade da raiz.

Eu tentei configurar o usuário em lighttpd como não privilegiada, e confirmada, ele está funcionando direito é apenas php que é executado como raiz.

Como eu set php-cgi para ser executado como um usuário mais seguro?

Foi útil?

Solução

  1. Certifique-se:

    server.username            = "nonprivuser"
    server.groupname           = "nonprivgroup"
    
  2. lighttpd stop.

  3. Verificar processos php existente e matá-los.
  4. começar lighttpd
  5. Marque processos php está executando como não priv

Se o PHP ainda está sendo executado como root, então você possivelmente ter um SETUID carregamento roteiro em algum lugar eles (você realmente não deveria, mas a sua possível)

Se este for o caso, verifique o arquivo 'bin-path' refere-se não tem nada funky em-lo.

Outras dicas

É possível que você tem um processo fastcgi que foi iniciado no servidor como root. Se este for o caso, então o processo fastcgi continuará a executar processos PHP chamada de lighttpd.

Eu sugiro matar os processos FastCGI no seu servidor e reiniciar lighttpd.

Você também pode querer dar uma olhada em todos os scripts de inicialização que pode lançar o daemon fastcgi.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top