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-ID: 18895

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

Ausgedruckt am: 22.11.2024 um 12:11 Uhr

creetz
creetz 02.11.2005 um 19:28:49 Uhr
Goto Top
steht der php safe mode auf "on" oder "off" ? Eventuell kann man da ja was erreichen. Ist aber nur so ne Idee
reini423
reini423 02.11.2005 um 19:30:48 Uhr
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.
wmeibers
wmeibers 31.05.2006 um 00:31:16 Uhr
Goto Top
Schon jemand eine Lösung gefunden. Hab dasgleiche Problem...

MfG
Wolfgang
reini423
reini423 31.05.2006 um 15:15:37 Uhr
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