Archiv verlassen und diese Seite im Standarddesign anzeigen : Systembefehle via HTML/PHP
Hallo zusammen,
ich habe mal folg., kleine PHP-Seite erstellt:
<html>
<head>
<title>Untitled</title>
</head>
<body>
<h3>DNS-Server</h3>
<form action="test.php" method="post">
<input type="submit" name="cmd" value="Start">
<input type="submit" name="cmd" value="Stop">
<input type="submit" name="cmd" value="Restart">
</form>
<?
if($cmd){
switch($cmd){
case "Start": passthru("/etc/init.d/bind9 start");break;
case "Stop": passthru("/etc/init.d/bind9 stop");break;
case "Restart": passthru("/etc/init.d/bind9 restart");break;
}
}
?>
</body>
</html>
Dass das nicht funktioniert, war mir schon klar.
Was muß ich einstellen, damit es funktioniert?
Danke und Gruß
Günni
BLUESCREEN3D
28-12-2005, 18:21
if($cmd){
switch($cmd){
ersetzen durch:
if (isset($_POST['cmd'])){
switch($_POST['cmd']){
Die if-Abfrage macht da eigentlich auch nur Sinn, wenn du dann in "switch" noch ein "default" hast und eine Meldung "unbekannter Befehl" oder so ausgibst.
PS: Zum Threadtitel: HTML ist clientseitig - darüber führst du keine Befehle auf dem Server aus ;)
co_negol
29-12-2005, 08:20
Hola Günni,
ich denke mal der user (wwwrun oder so-also der unter dem apache läuft) sollte das recht erhalten "/etc/init.d/bind9 start|stop|restart" auszuführen.
grüße alex
Turbohummel
29-12-2005, 08:53
Auch möglich dass das auf dem Server nicht erlaubt ist.
quinte17
29-12-2005, 09:18
http://www.mrunix.de/forums/showthread.php?t=40704&highlight=expect
mit expect und sudo kannst du alles machen was du willst...
greetz
co_negol
29-12-2005, 09:57
http://www.mrunix.de/forums/showthread.php?t=40704&highlight=expect
mit expect und sudo kannst du alles machen was du willst...
greetz
... wenn dein admin dir die rechte für sudo und/oder expect gibt :D
@all
Danke für die Antworten.
Also das PHP-Script funktioniert, die Meldungen des DNS-Servers werden
auf der Seite ausgegeben, nur dass auf dem Server nix passiert. Heißt
also, der Klick auf Stop z.B. bleibt auf dem Server ohne Wirkung.
Ich werde mich also in die Sache mit der Rechtevergabe bzw. sudo reinknieen
müssen.
Grüße und guten Rutsch ins Jahr 2006
Günni
co_negol
30-12-2005, 07:53
Hola Günni,
nimm mal statt passthru exec("/etc/init.d/bind9 start",$results)
gibt print_r($results) etwas aus? wenn ja, ists ein fehlercode den Du google kannst
und tu mir mal den gefallen und führe bind9 als wwwrun aus (su wwwrun,(passwort), dann /etc ...), geht das?
grüße alex
@co_negol
Hi,
habe exec("/etc/init.d/bind9 start",$results) ausgeführt, print $results
gibt das gleiche aus wie passthru("/etc/init.d/bind9 start").
Den Rest teste ich nach Neujahr, hab leider keine Zeit mehr.
Wünsche dir und deinen Liebsten guten Rutsch ins Jahr 2006
Grüße
Günni
versuch doch mal
shell_exec(<befehl>);
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.