Shell-Script über eine Webseite ausführen?

1 Antwort

exec oder shell_exec ist nur die halbe Wahrheit. Wenn du PHP als Apache-Modul einsetzt, läuft das unter dem Apache-Nutzer, wahrscheinlich www-data. Und der hat erstmal keine Rechte, eine Shell auszuführen. Du musst also wahrscheinlich erstmal mit chsh dafür sorgen, das der Nutzer überhaupt nen Shell-Script ausführen darf.

Je nach Script musst du dann schauen, ob der Benutzer genug Rechte hat, das auszuführen, was du tun willst. Evtl. musst du sudo passend konfigurieren und den Befehl über sudo ausführen.

PS: Wenn du nur nen Shell-Script ausführen willst, geht es ggfs. auch ohne PHP, wenn du das Script ins cgi-bin des Apache legst. Allerdings muss das Script dann als erstes die passenden HTTP-Header und eine Leerzeile vor dem eigentlichen Inhalt ausgeben. Die Rechteprobleme sind die gleichen...

Woher ich das weiß:Studium / Ausbildung – Informatiker