"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

http tty shell

Kirby 25.10.2018 - 11:56 5949 20
Posts

Kirby

0x20
Avatar
Registered: Jun 2017
Location: Lesachtal/Villac..
Posts: 910
Servus.
Ich habe bei meinem Haus eine SUV und da hängt mein http und Linux server drauf. Wenn jemand meine Stromleitung kapt oder der Hausalarm läuft sollte der http Server den Linux Server herunterfahren.
Gibt es eine Methode um über http eine Shell auf dem Linux Server zu spawnen damit ich den mit "init 0" herunterfahren kann? Beide Server befinden sich im gleichen Netztwerk.

Gruß Kirby
Bearbeitet von Kirby am 29.10.2018, 12:38

issue

Rock and Stone, brother!
Avatar
Registered: Feb 2003
Location: Linz
Posts: 3649
Deine Anfrage ist imho bisserl konfus :D
Welches OS rennt auf dem HTTP Server?
Ich wuerd mir ein script basteln, das wenn die USV startet, per SSH den Linux server runter faehrt.

Viper780

Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 50107
Was hat ein SUV mit deinem Server zu tun?

Für die meisten USV gibt es eine Verbindung (USB, Netzwerk, RS232) zu den Servern. Damit kannst den dann runter fahren

Kirby

0x20
Avatar
Registered: Jun 2017
Location: Lesachtal/Villac..
Posts: 910
ich brauche trotztdem die shell für den hausalarm.
also wenn keiner die kabel kapt aber der hausalarm wegen z.B: Einbruch angeht sollte er auch abschalten. Die frage war ja wie ich über http eine tty shell auf nem linux server spawnen kann.

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 12296
Zitat
Die frage war ja wie ich über http eine tty shell auf nem linux server spawnen kann.


das ergibt nicht wirklich sinn, oder du musst es genauer ausführen. du kannst ein script schreiben dass vor dem runterfahren des http server sich mit ssh auf den linux server verbindet und dort den linux server unterfährt.

edit: vorrausgesetzt der http server ist auch linux oder zumindest nix ausgefallenes...

JDK

Oberwortwart
Avatar
Registered: Feb 2007
Location: /etc/graz
Posts: 2837
SSH wäre vermutlich am einfachsten, kannst aber natürlich auch Shellzeug über PHP/Node.js ausführen (wobei von so heftigen Sysrechten abzuraten ist). Eventuell hilft dir aber auch https://stackoverflow.com/questions...ec-php/45775280 .

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 12296
ach so war das gemeint. das würd ich aus sicherheitsgründen auch vermeiden

Kirby

0x20
Avatar
Registered: Jun 2017
Location: Lesachtal/Villac..
Posts: 910
ja beide server sind linux(DEB). Ok also 1x FTP und 1xhttp server.
Wenn eingebrochen wird oder die SUV anspringt sollte der httpserver weiterlaufen aber er sollte den FTP server runterfahren. die SUV versorgt ja meine überwachungskameras den httpserver-ftpserver und das modem.
Der FTP server sollte sobalt der strom gekappt wird oder eingebrochen wird runterfahren.
Da die http/ftp server beide an der SUV hängen und über den httpserver meine überwachungskameras laufen (bild am handy und benachrichtigung) kann nur dieser den ftp server runterfahren.

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Wie man sowas realisiert hängt ganz von dem ab, was deine USV kann. Das würd ich jetzt nicht automatisch auf HTTP aufhängen. Welches Modell hast? Wie macht sich die USV in ihrer Umgebung bemerkbar?

Btw...
SUV: Sport utility vehicle
USV: Unterbrechungsfreie Stromversorgung

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 12296
hängt die USV per usb ans einem der server ? oder werden die server über netzwerk kontaktiert dass sie mitbekommen dass sie jetzt von der usv versorgt werden ?

edit: worauf ich hinauswill: wie meldet die USV dass sie aktiv ist ?
Bearbeitet von davebastard am 25.10.2018, 15:30

Rogaahl

Super Moderator
interrupt
Avatar
Registered: Feb 2014
Location: K
Posts: 2338
Auf dem ftp server einen user mit eingeschränkten rechten erstellen. Für den User die sudorers Datei mit visudo editieren und i.e so was eintragen NOPASSWD: /bin/shutdown .

sshkeys für den user generiere und auf den http server schieben.

Dann bei stromausfall einfach
Code:
ssh -t user@httpserver 'sudo shutdown -h now'
ausführen.

JDK

Oberwortwart
Avatar
Registered: Feb 2007
Location: /etc/graz
Posts: 2837
Zitat aus einem Post von Rogaahl
Dann bei stromausfall einfach
Code:
ssh -t user@ftpserver 'sudo shutdown -h now'
ausführen.

ftfy

Aber wie schon gesagt wurde: Welche USV bzw. welche Anschlussmöglichkeiten hast du?
Bearbeitet von JDK am 25.10.2018, 16:09

matiss

Chaos Maestro
Avatar
Registered: Dec 2007
Location: Vienna
Posts: 719
USVs für Server haben normalerweise einen Anschluß per Seriel oder USB, gibt es vielleicht auch schon mit Netzwerk. Es läuft dann ein Service/daemon am entsprechenden Server über den man Aktionen setzen kann so wie von Rogaahl/JDK geschrieben.

Hatte bisher nur APC Geräte selbst in der Hand und dort konnte man dann entweder über Powerchute (Windows) oder apcupsd (Linux) alles mögliche machen. Auch über mehrere USV verteilt in Stufen und was einem sonst noch einfällt.
zB: < 25% alles ausser Internet/Mail/Netzwerk wird abgeschaltet, < 15% nur noch Netzwerk, < 10% alles runterfahren usw usv

//EDIT: Angeblich funktioniert apcupsd auch mit nicht APC Geräten, ist aber nur hörensagen.
Bearbeitet von matiss am 25.10.2018, 16:43

Kirby

0x20
Avatar
Registered: Jun 2017
Location: Lesachtal/Villac..
Posts: 910
Gibt wie ich jetzt sehe doch Möglichkeiten. Doch irgentwie habt ihr mich nicht ganz verstanden. Die USV is wayne. Wollte ja nur wissen wie ich den 2ten server abschalten kann. Werd das mal mit ssh probieren. Und wenns dann net läuft dann geht ja immer noch die Möglichkeit dass ich über python(beautifulsoup) nen script schreib dass der abschaltet --> usv einstellung ändert ne html von 0 auf 1 und somit kann der ftp server über beautiful soup "init 0" starten.
Danke für die Ideen.

Gruß Kirby

ill

...
Avatar
Registered: Nov 2003
Location: Salzburg
Posts: 2059
Zitat aus einem Post von Kirby
Und wenns dann net läuft dann geht ja immer noch die Möglichkeit dass ich über python(beautifulsoup) nen script schreib dass der abschaltet --> usv einstellung ändert ne html von 0 auf 1 und somit kann der ftp server über beautiful soup "init 0" starten.
Danke für die Ideen.

Das versteh ich jetzt wiederum nicht, BeautifulSoup ist doch eine WebScraping / XML-Parsing - Library?
Heißt das du willst einen watch Prozess eine html-file am server beobachten lassen, der dann je nach gesetztem Wert in der HTML den Server runterfährt?

Da bist du definitiv mit SSH besser unterwegs.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz