Pregunta

Ejecuto php 5.2.6 como cgi en lighttpd 1.4 y por alguna razón siempre se ejecuta como root. Todos los procesos php-cgi son propiedad de root y todos los archivos escritos en el sistema de archivos son propiedad de root.

He intentado configurar el usuario en lighttpd como no privilegiado, y confirmó que se está ejecutando correctamente, es solo php que se ejecuta como root.

¿Cómo configuraría php-cgi para que se ejecute como un usuario más seguro?

¿Fue útil?

Solución

  1. Asegúrate:

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

  3. comprueba los procesos existentes de php y elimínalos.
  4. inicia lighttpd
  5. compruebe que los procesos de php se estén ejecutando como non priv

si php todavía se está ejecutando como root, entonces posiblemente tenga un script SETUID en algún lugar cargándolos (realmente no debería, pero es factible)

si este es el caso, verifique que el archivo 'bin-path' al que se refiere no tenga nada de funky.

Otros consejos

Es posible que tenga un proceso fastcgi que se inició en el servidor como root. Si este es el caso, entonces el proceso fastcgi continuará ejecutando procesos php llamados desde lighttpd.

Sugiero eliminar los procesos fastcgi en tu servidor y reiniciar lighttpd.

Es posible que también desees echar un vistazo a cualquier secuencia de comandos de inicio que pueda iniciar el daemon de fastcgi.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top