Welchen Benutzer verwendet PHP/IIS6 zum Lesen/Schreiben von Dateien?

Welchen Benutzer verwendet PHP/IIS6 zum Lesen/Schreiben von Dateien?

Ich habe PHP5 (FastCGI) auf IIS6 installiert und frage mich, welchen Windows-Benutzer PHP für den Zugriff auf das Dateisystem verwendet?

Bei ASP.NET wird beispielsweise das ASPNET-Konto für den Zugriff auf das Dateisystem verwendet. Aber wie ist es mit PHP?

Ich habe einige gelesenPostdas lässt darauf schließen, dass das anonyme (also IUSR-)Konto verwendet wird. Aber ist es nicht eine Sicherheitsverletzung, wenn ich dem IUSR-Konto Schreibzugriff gewähre?

Danke!

Antwort1

Craig hat Recht, die Standardeinstellung für IIS6 erfolgt über das NETWORK SERVICE-Konto. Die Verwendung von PHPinfo in einer test.php ist eine hervorragende Möglichkeit, dies zu diagnostizieren.

Ich habe über die "Identität" von Code gebloggt, der in IIS ausgeführt wirdHiervon OS

Hoffentlich hilft das.

Dave

Antwort2

Ich nehme an, es wird der Benutzer verwendet, unter dem Sie den IIS-Dienst ausführen. Aber hier ist eine schnelle und einfache Möglichkeit, das herauszufinden:

  1. Fügen Sie die folgenden Zeilen in eine Datei namens test.php ein: <?php phpinfo(); ?>

  2. Legen Sie test.php im IIS-Dokumentstammverzeichnis ab und zeigen Sie es in einem Browser an

  3. Suchen Sie in der Ausgabe nach einer Zeile, die den Benutzernamen enthält. Er befindet sich mit Sicherheit irgendwo dort.

Antwort3

Sie müssen in php.ini Folgendes ändern:

fastcgi.impersonate = 1;

PHP verwendet also dasselbe Konto, das Ihr IIS (w3wp.exe) verwendet. (Benutzer: IUSR).

Antwort4

In IIS6 ist der Standardbenutzer des Arbeitsprozesses NETWORK SERVICE. Wenn Sie den Task-Manager öffnen, wird der Prozess w3wp.exe wahrscheinlich unter diesem Konto ausgeführt.

Außerdem ist der ASPNET-Benutzer ein Überbleibsel von IIS5. Sofern Sie IIS6 nicht für die Verwendung des „IIS5-Isolationsmodus“ konfiguriert haben, würde ASP.NET auch unter dem NETWORK SERVICE-Konto „ausgeführt“.

verwandte Informationen