reini423
Goto Top

mit IIS 6.0 und PHP5 Skripte ausführen, Probleme beim shell exe()-Befehl

IIS 6.0 biete beim Einsatz im Intranet die Möglichkeit die Windows-Authentifizierung mitzunutzen. Wenn man aber dann Skripte aufführen möchte geht dies nicht. (Ohne Authentifizierung übrigens auch nicht).

Ich möchte im Intranet den IIS 6.0 mit der Windows-Authentifizierungsmethode nutzen um dann Anwendungen auf dem Server auszuführen. Z.B. ist es so möglich, über ein Webinerface Passwörter von Benutzern zurück zu setzen bzw. Benutzer anzulegen.

Mein Problem:

Wenn ich als Administrator auf das PHP-Skript zugreife, dann lässt sich ein Systembefehl ausführen und z.B. das Passwort eines bestimmten Benutzers zurücksetzen. Greife ich aber über einen anderen Benutzer auf die Seite zu, dann geht das nicht. Der Anwendung, die Serverseitig ausgeführt werden soll, wurden genau die gleichen Rechte für diesen Benutzer gegeben, die der Administrator hat.

Es ist einfach nicht möglich als normaler User mit Hilfe von shell_exec(), Systembefehle auszuführen. Da es funktioniert, wenn ich lokal als Administrator angemeldet bin und das gleiche Skript funktioniert auch unter Apache. Daher muss das Problem am IIS liegen.

Content-Key: 18895

Url: https://administrator.de/contentid/18895

Printed on: April 27, 2024 at 16:04 o'clock

Member: creetz
creetz Nov 02, 2005 at 18:28:49 (UTC)
Goto Top
steht der php safe mode auf "on" oder "off" ? Eventuell kann man da ja was erreichen. Ist aber nur so ne Idee
Member: reini423
reini423 Nov 02, 2005 at 18:30:48 (UTC)
Goto Top
Danke, steht natürlich auf off. - Wäre auch komisch wenn es bei On mit dem Admin geht und mit dem normalen User nicht.
Member: wmeibers
wmeibers May 30, 2006 at 22:31:16 (UTC)
Goto Top
Schon jemand eine Lösung gefunden. Hab dasgleiche Problem...

MfG
Wolfgang
Member: reini423
reini423 May 31, 2006 at 13:15:37 (UTC)
Goto Top
Eine IIS-Lösung habe ich nicht direkt gefunden, dafür aber einen netten Workaround.

Den IIS nehme ich nur zur Benutzeridentifikation. Auf meinem Server habe ich zusätzlich noch einen Apache-Server auf einem anderen Port laufen. Der IIS "nimmt den Seitenaufruf entgegen". Mit hilfe eines PHP-Script werden dann die Anmeldedaten in eine PHP-Session geschrieben und die Startseite des Apache-Server aufgerufen. Die Session-id muss dabei nicht einmal übergeben werden. Die PHP-Module von IIS und Apache greifen auf die gleiche Sessiondatei zu (das geht).

Einen anderen Weg habe ich leider nicht gefunden. Ich denke, dass dieser Weg sogar einige Vorteile hat. Den einzigen Vorteil von IIS sehe ich nur bei der automatischen Identifikation der Windowsbenutzer und den nutze ich ja aus.

Ich hoffe das hilft dir weiter ... gruss reini