Thread Ich möchte mit einer Perl-Datei einen Shell-Befehl ausführen (10 answers)
Opened by Eddie at 2009-08-30 22:47

topeg
 2009-08-31 11:43
#125129 #125129
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Im Falle von "sudo" ist es, glaube ich besser, den ganzen Befehl mit Optionen in eine Option zu packen... Verwirrend...
Besser ich mache ein Beispiel:
Code (perl): (dl )
my ($cmd, @args) = ("/usr/bin/sudo", "shutdown -r 30");


Denn "sudo" ist der Befehl der von "system" Ausgeführt werden soll und "shutdown -r 30" der Befehl den "sudo" als root ausführen soll. Dieser Befehl veranlasst dann einen Neustart des Systems in 30 Minuten.

Ich hoffe dass auf dem Zielsystem "sudo" auch korrekt eingerichtet ist, sonst kommt es beim Aufruf über "system" zu nicht aussagekräftigen Fehlern (es passiert einfach nichts). Dem Nutzer unter dem der Webserver läuft muss das Recht haben über "sudo shutdown" aus zu führen, was meistens nicht der Fall ist. Ich würde "sudo" in dem Fall auch so einrichten, dass nur "shutdown -r 30" und keine anderen Optionen ausgeführt werden kann, denn je nachdem wie es kompiliert ist, erlaubt es auch das Ausführen von Scripten/Programmen beim herunterfahren. Das ist ein Risiko. Sollte jemand es schaffen sich mit dem rechten des Webservers Zugang zum System zu verschaffen.

Weiterhin hoffe ich, dass das Script, welches das "sudo shutdown" ausführt mit einem Passwort gesichert ist (das nicht das Rootpasswort ist, das ist zu gefährlich übers web), denn sonst kann jeder, der Freude daran hat das System herunterfahren, und das kann sehr ärgerlich sein. :-/

View full thread Ich möchte mit einer Perl-Datei einen Shell-Befehl ausführen