ubuntuusers.de

Remote Shutdown via Url

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

tkt2208

Anmeldungsdatum:
21. Mai 2013

Beiträge: 44

Hallo zusammen,

ich bin auf der Suche nach einer Möglichkeit meinen Ubuntu Server via Aufruf einer URL dazu zu bewegen sich herunterzufahren.

Mir fehlt absolut der Ansatz wie ich das machen könnte.

Hat jemand von euch eine Idee?

Mfg der tkt

MPW

Anmeldungsdatum:
4. Januar 2009

Beiträge: 3731

Hallo,

es geht z.B. mit einem php-Skript. Man müsste nur gucken, wie es mit den Rechten aussieht.

Grüße MPW

tkt2208

(Themenstarter)

Anmeldungsdatum:
21. Mai 2013

Beiträge: 44

Und wie könnte das php script aussehen ?

Muss das dann auf diesem Server laufen oder auf einem x beliebigen ?

MfG der tkt

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Moin!

Also per php wäre das natürlich auch möglich, ich würde aber eher zu ssh tendieren. Oder gibt es einen Grund, wieso der Server per website abschaltbar sein soll? Kann da dann jeder den Befehl ausführen? Falls du das wirklich so haben willst, müsstest du der Gruppe www-data (oder entsprechend deines webservers) das Recht einräumen, einen shutdown durchzuführen.

Bei der Frage, wo das php-Script ausgeführt werden soll, wage ich aber zu bezweifeln, dass die nötigen Grundlagen zum Betreiben eines von außen erreichbaren Servers vorhanden sind. Ich kann mich aber natürlich auch irren 😉

tkt2208

(Themenstarter)

Anmeldungsdatum:
21. Mai 2013

Beiträge: 44

Ja sollte schon per Website sein. ..

Mal kurz erklärt: Ich habe mir eine kleine auf mein iPhone angepasste Website programmiert wo ich den Server via Wake on Lan starten kann. Und nun suche ich eine Möglichkeit diesen wieder herunterzufahren.

Hat jemand von euch eine Idee wo ich mir solch ein php Skript zusammen stellen kann. Da ich in Sachen php nicht gerade der hellste Stern am Himmel bin.

MfG der tkt

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6479

Wohnort: Hamburg

... mit einem php-Skript. Man müsste nur gucken, wie es mit den Rechten aussieht.

Ich habe da mal etwas aus einem meiner Scripte herauskopiert. Was daraus jetzt nicht erkennbar ist, ist das der User sich vorher an der Webseite anmelden musste um den entsprechenden Button überhaupt zu sehen.

...
$ip = $_SERVER["REMOTE_ADDR"];
$content .= "Your IP is: ".$ip."<br /><br />\n";
$cmd = "sudo /usr/bin/arping -c 1 -w 10 " . $ip;
$res .= shell_exec( $cmd );
...

und in /etc/sudoers wird mittels visudo folgendes nachgetragen.

www-data ALL = NOPASSWD: /usr/bin/arping

Damit sarf der Webserver genau diese eine Kommando ausführen. Du müsstest dann anstelle von "arping" shutdown einsetzen und auch ggf. den Pfad anpassen.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

http://php.net/manual/de/function.system.php

Da gibts nicht viel zu scripten, auch ohne helle Sterne.

tkt2208

(Themenstarter)

Anmeldungsdatum:
21. Mai 2013

Beiträge: 44

ChickenLipsRfun2eat schrieb:

http://php.net/manual/de/function.system.php

Danke hat supen funktioniert.

Falls es jemanden interessiert mein script sieht wie folgt aus

1
2
3
4
5
6
7
8
<?php
echo '<pre>';
$last_line = system('shutdown -h now', $retval);
echo '
</pre>
<hr />Letzte Zeile der Ausgabe: ' . $last_line . '
<hr />Rückgabewert: ' . $retval;
?>

Man muss aber noch die Rechtervergabe für shutdown ändern. Dies habe ich über Putty mit dem Befehl

chmod +s /sbin/shutdown

erledigt

Mfg der tkt

MPW

Anmeldungsdatum:
4. Januar 2009

Beiträge: 3731

Hallo,

für das, was du vorhast, ist eine Website mit PHP völlig ungeeignet.

Beschäftige dich Mal mit ssh, öffentlichen Schlüsseln (public keys) und wie du dich per SSH-Client vom iPhone anmelden kannst. Dann legst du einfach ein kleines Skript oder einen alias ab und führst dieses aus um den Rechner herunterzufahren.

Das dürften korrekt konfiguriert etwa drei bis fünf Klicks sein: App starten → Verbindung auswählen → Befehl tippen → Enter → Fertig.

Grüße MPW

tkt2208

(Themenstarter)

Anmeldungsdatum:
21. Mai 2013

Beiträge: 44

MPW schrieb:

Das dürften korrekt konfiguriert etwa drei bis fünf Klicks sein: App starten → Verbindung auswählen → Befehl tippen → Enter → Fertig.

ich habe die Website bereits fertig und ich kann mit nur 2 klicks meinen Server herunterfahren.

Website liegt auf dem HomeScreen. 1.Klick Website öffnet → 2.Klick auf dem Shutdownbutton und Server fährt herunter.

MfG der tkt

MPW

Anmeldungsdatum:
4. Januar 2009

Beiträge: 3731

Die Frage ist nach der Autorisierung?

Solange du es nur im WLAN machen möchtest, geht das natürlich.

Aber wenn du es weltweit machen möchtest, sieht es schon ganz anders aus.

Wenn du keine weiteren Tipps mehr benötigst, setze das Thema bitte auf gelöst. Das geht am Ende der Seite links unten.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Ich kann MPW nur zustimmen. Ein von außen erreichbarer Server muss ganz anders abgesichert werden. Zumal es per SSH ja noch schneller geht, wenn es nur um das Abschalten geht.

Man kann per SSH auch einzelne Befehle senden, angenommen man benutzt das public key - Verfahren.

Das wäre dann im Idealfall nur 1 Klick und dieser sogar sicherer. Über eine website könnte ja jeder den Server herunterfahren.

Bitte vor dem Anbinden des Servers an das weltweite Netz wenigstens die Grundlagen (Serverdienste, Sicherheits 1x1 (Abschnitt „Server“) ) durcharbeiten und verstehen!

Antworten |