Exec als Benutzer verwenden

Grufy

Mitglied
Folgendes Problem ich lasse in einem PHP script das auf einem Apache läuft mit exec einen befehl ausführen der ein programmstartet so alles schön und gut. Aber wie bringe ich windows den apache oder das phpscript dazu das programm nicht als "System" Benutzer auszuführen sondern als einen beliebigen Benutzer? Ist sehr wichtig anfangs gings noch aber jetzt muss ich Programme starten die sich als System nicht ausführen lassen.

Antwort währe Prima :)
 
[phpf]exec[/phpf] verwendet für die Ausführung der Kommandos den Besitzer des aktuellen Requests / Files. Meist ist das, wie bei dir, ein privilegierter Zugang.

Umgehen lässt sich das für den Fall, dass [phpf]exec[/phpf] auf den Besitzer des aufgerufenen Files zurückgreift, leicht, indem der Besitzer entsprechend angepasst wird.
Sollte das nicht funktionieren, gibt es immer noch zwei weitere Möglichkeiten. Der einfachere Weg führt über ein Benutzerverzeichnis (user directory) unter dem Apache-Server, bei dem automatisch der Besitzer des entsprechenden Benutzerverzeichnisses verwendet wird. Jedoch sehen dabei die URLs recht unschön aus (domain/~benutzername/).
Der etwas ungemütlichere Weg führt über Apache und SuExec, welches das Setzen individueller Benutzerkonfigurationen (im Rahmen der bestehenden Nutzer) gestattet. Es wird weiterhin wie bei den Benutzerverzeichnissen verfahren, jedoch ohne die Umstände sich auf diese zu beschränken.

Auf PHP-Ebene selbst bliebe nur der Wechsel auf einen anderen ausführenden Nutzer: Der PHP-Dienst / -Prozess müsste vom entsprechenden Nutzer gestartet werden. Dabei kann es aber zu hässlichen Rechteproblemen und dergleichen kommen - Ist also keine wirklich gute Wahl.
 
das könnte auch erklären warum auf dem pc wo ichs programmiert hab funktioniert und wenn ichs aufm server ausführe ers als system startet kann ich da einfach unter eigenschaften die berechtigung ändern oder wie gehe ich vor wenn ich den besitzer ädern will ?

EDIT:

Ist ja geil ich hab den Benutzer der PHP datei geändert und siehe da das programm wird als Besitzer dieser PHP datei gestartet genial
 
Zuletzt bearbeitet:
Zurück