Mit PHP auf Skripte im System zugreifen

Hallo zusammen!

Ich möchte gerne mit PHP auf Skripte zugreifen, die im Root-System liegen. Ich habe Apache2 auf Debian 4.0 laufen…
Also der Skript soll sich mit den Zugangsdaten einloggen und auf dem System eine Datei starten.
Für die dies kennen: es soll ähnlich wie Webmin sein…

Vielen Dank!
Gruß PcFreak92

Hallo,

normalerweise geht das mit system(„file.sh“);
dann jedoch nicht mit root rechten sondern mit den rechten als die das php-script ausgeführt wird, im normalfall also www-data

Gruß
Phillip

normalerweise geht das mit system(„file.sh“);
dann jedoch nicht mit root rechten sondern mit den rechten als
die das php-script ausgeführt wird, im normalfall also
www-data

Und wie kann ich den Benutzer festlegen?

Hallo,

schaue die einmal sudo an (man sudo, man sudoers). Konfiguriere das so, das der apache-Benutzer das Script als userX ausführen kann (visudo) und starte dann im php per system(„sudo userX -c befehl“) die Datei.

Alexander

PS: Ggfs. braucht der Apache-Benutzer dazu eine gültige Shell, irgendein Problem gab es da noch, ist aber zu lange her, das ich das mal gemacht habe… Das Passwort von UserX zu übergeben hatte ich damals nicht geschafft, und daher NOPASSWD: im visudo verwendet.

PS: Ggfs. braucht der Apache-Benutzer dazu eine gültige Shell,
irgendein Problem gab es da noch, ist aber zu lange her, das
ich das mal gemacht habe… Das Passwort von UserX zu
übergeben hatte ich damals nicht geschafft, und daher
NOPASSWD: im visudo verwendet.

Hast du es schon mit userX:stuck_out_tongue:asswd, also mit „:“ zwischen dem user und dem passwd probiert?

Hallo,

Hast du es schon mit userX:stuck_out_tongue:asswd, also mit „:“ zwischen dem
user und dem passwd probiert?

Zumindest damals wollte sudo das Passwort immer vom Terminal lesen, und das wird nix, wenn es per Script gestartet wird. NOPASSWD: war einfacher zu handhaben, die nötigen Daten hat dann das Script, welches die Arbeit als anderer Nutzer gemacht hat, über eine Datei mit zufälligem Dateinamen übergben bekommen…

Alexander