Hi,
ein kleiner ARM-Debian-lighttpd (Linksys NSLU-2) Webserver soll über ein Web-Interface gesteuert werden. Python ist über mod_cgi angebunden und ich kann ein print "Content-type:text/plain\n\nhello world" ausführen.
Jetzt möchte ich mir Prozesse und Speicherauslastung anzeigen lassen und ein Skript für Neustart und Shutdown fabrizieren. Das muss noch nichtmal irgendwelche HTTP-Methoden unterstützen, der einfache Aufruf http://server/shutdown.py reicht mir schon.
Für die Status kann ich mir vorstellen, das ähnlich popen("ps -aux") zu erreichen. Aber wie ist das mit Runterfahren und Neustart?
Der Interpreter muss auf jeden Fall noch die Ausgabe der Befehle zum Client leiten, und sich dann selbst beenden.
Danke schonmal!
Server Status und Steuerung mit Lighttpd und Python
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
In dem Fall reicht wohl schon ein ``subprocess.call()``. Am besten via sudo den Befehl zum herunterfahren absetzen und nicht auf die Idee kommen das Python-Skript setsuid zu setzen
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hmm? Wenn man für den User unter dem der Interpreter läuft, einen Eintrag mit NOPASSWD in der sudoers hat, der die ausführung vom entsprechenden Shutdown-Befehl erlaubt, wo sollte da das Problem sein?lunar hat geschrieben:Was nicht funktionieren würde ...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Mein Posting bezog sich auf den letzten Teil deines Postings: "[...] das Python-Skript setsuid zu setzen. [...]".
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ah stimmt, hast recht. Das ist mir entfallen. Wenn man ausreichend verrückt ist, könnte man aber einen binären Preloader reinmachen, der dann das Skript aus seinem Inhalt extrahiert und als root ausführtlunar hat geschrieben:Mein Posting bezog sich auf den letzten Teil deines Postings: "[...] das Python-Skript setsuid zu setzen. [...]".
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice