Frage

Ich betreiben PHP 5.2.6 als cgi unter lighttpd 1.4 und aus irgendeinem Grunde läuft es immer als root. Alle php-cgi Prozesse in root und alle Dateien geschrieben in dem Dateisystem im Besitz sind im Besitz von Root.

Ich habe versucht, den Benutzer in lighttpd als nicht privilegierten Einstellung und bestätigte, es läuft richtig es ist nur PHP, die als root ausgeführt wird.

Wie würde ich gesetzt php-cgi als sicheren Benutzer laufen zu lassen?

War es hilfreich?

Lösung

  1. Stellen Sie sicher:

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

  3. prüfen für bestehende PHP-Prozesse und töten sie.
  4. Start lighttpd
  5. überprüfen php Prozesse als nicht priv ausgeführt werden

, wenn PHP noch als root läuft, dann möglicherweise Sie ein SETUID Skript sie irgendwo zu laden (Sie sollten wirklich nicht, aber es ist machbar)

Wenn dies der Fall ist, überprüfen Sie die Datei ‚ist-Pfad‘ bezieht sich auf nicht über etwas flippige drauf.

Andere Tipps

Es ist möglich, dass Sie einen FastCGI-Prozess haben, der auf dem Server als root gestartet wurde. Wenn dies der Fall ist, dann wird der FastCGI-Prozess weiterhin PHP Prozesse von lighttpd genannt ausgeführt werden.

Ich schlage vor, die Tötung der FastCGI Prozesse auf Ihrem Server und den Neustart lighttpd.

Sie können auch einen Blick auf irgendwelchen Startskripts nehmen möchten, dass die FastCGI-Daemon starten könnte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top