Domanda

Uso php 5.2.6 come cgi sotto lighttpd 1.4 e per qualche ragione funziona sempre come root. Tutti i processi php-cgi in sono di proprietà di root e tutti i file scritti nel file system sono di proprietà di root.

Ho provato a impostare l'utente in lighttpd come non privilegiato, e confermato, sta funzionando bene è solo php che funziona come root.

Come impostare php-cgi in modo che funzioni come utente più sicuro?

È stato utile?

Soluzione

  1. Assicurati:

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

  3. controlla i processi php esistenti e li uccide.
  4. avvia lighttpd
  5. controlla che i processi php siano in esecuzione come non privati ??

se php è ancora in esecuzione come root, allora potresti avere uno script SETUID da qualche parte che li carica (non dovresti davvero, ma è fattibile)

se questo è il caso, controlla che il file 'bin-path' si riferisca a non ha nulla di strano.

Altri suggerimenti

È possibile che tu abbia un processo fastcgi avviato sul server come root. In questo caso, il processo fastcgi continuerà a eseguire processi php chiamati da lighttpd.

Suggerisco di terminare i processi fastcgi sul tuo server e di riavviare lighttpd.

Potresti anche dare un'occhiata a tutti gli script di avvio che potrebbero avviare il demone fastcgi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top