Wie kann man temporär verhindern, daß der PC heruntergefahren wird? Konkret meine ich, wenn man per ssh einen Desktoprechner fernwartet, soll dieser währenddessen nicht versehentlich von einem eventuellen Benutzer heruntergefahren werden können. D.h. alles was ein init 0 oder 6 auslösen kann muss geblockt werden. Beim Powerbutton, zumindest wenn nur kurz gedrückt, bin ich mir nicht sicher, aber das ist ja auch nur ein event welches im Endeffekt auf init 0 hinausläuft, oder?
Hat jemand eine Idee wie ich da am besten Ansetzen könnte? Kann man 'einfach' init 0 und 6 deaktivieren?
Danke schonmal für jeden Tipp.
shutdown verhindern
shutdown verhindern
Oben gemachte Angaben, Falls nicht anderweitig Erwähnt, beziehen sich auf Debian Stable (Squeeze) amd64.
"Die Einen glauben zu Wissen, die Anderen wissen zu Glauben."
"Die Einen glauben zu Wissen, die Anderen wissen zu Glauben."
Re: shutdown verhindern
hi,
erstmal das Kleingedruckte: Kinder, macht das nicht zu Hause nach! Die Risiken und Nebenwirkungen kann auch ein Arzt oder Apotheker kaum abschätzen!
funktioniert zwar, aber wehe, wenn das vor dem nächsten Reboot nicht zurückgesetzt wird. Umbenennen wäre sicherer, wenn man die Boot-Option "init=/sbin/umbenanntes_init" benutzt. Bei den nächsten beiden Kandidaten, /sbin/halt und /sbin/shutdown, könnte "chmod" ausreichen; damit wäre auch der Power Button Event abgedeckt.
init lässt sich auch per /dev/initctl steuern, aber das ist kaum dokumentiert, deswegen gehen wir mal davon aus, dass da niemand versehentlich rein schreibt.
Dann muss man ALT-SYSRQ abschalten: mit einem Wert > 1 kann man auch gezielt einzelne sysreq-Funktionen abschalten, siehe /usr/src/linux/Documentation/sysrq.txt.
Wenn man dann noch den Reset-Knopf abklemmt und eine USV mit ins PC-Gehäuse einbaut, ist alles abgedeckt, was mir jetzt einfällt, also schätzungsweise die Hälfte aller Möglichkeiten![Wink ;)](./images/smilies/icon_wink.gif)
erstmal das Kleingedruckte: Kinder, macht das nicht zu Hause nach! Die Risiken und Nebenwirkungen kann auch ein Arzt oder Apotheker kaum abschätzen!
Code: Alles auswählen
chmod 444 /sbin/init
init lässt sich auch per /dev/initctl steuern, aber das ist kaum dokumentiert, deswegen gehen wir mal davon aus, dass da niemand versehentlich rein schreibt.
Dann muss man ALT-SYSRQ abschalten:
Code: Alles auswählen
echo 0 > /proc/sys/kernel/sysrq
Wenn man dann noch den Reset-Knopf abklemmt und eine USV mit ins PC-Gehäuse einbaut, ist alles abgedeckt, was mir jetzt einfällt, also schätzungsweise die Hälfte aller Möglichkeiten
![Wink ;)](./images/smilies/icon_wink.gif)
Beware of programmers who carry screwdrivers.
Re: shutdown verhindern
Vielen Dank, sehr gute Erklärung!
Hab jetzt, nach dem ersten Lesen, einen guten Überblick und die Ideen kommen schon. Die ganzen Details und vielen Infos hier muss ich aber erst mal verarbeiten...
Naja, ich hoffe ja, daß die Unterweisung die ich dazu gebe dem Nutzer im rechten Augenblick wieder einfällt. Nämlich dann, wenn der PC nicht herunterfährt wenn er es ihm befiehlt. Dann erinnert er sich hoffentlich daran, daß ich gesagt habe, daß das dann ok ist und ihn dann einfach laufen lassen soll. (Ich weiss, sowas fällt einem dann immer ein, kurz nachdem man den Netzstecker gezogen hat. Aber das ist dann halt Schicksal
)
Hab jetzt, nach dem ersten Lesen, einen guten Überblick und die Ideen kommen schon. Die ganzen Details und vielen Infos hier muss ich aber erst mal verarbeiten...
Ich dachte da an irgendwas in Scriptform. So daß, wenn dieser Vorgang gestartet wird, er auch nicht durch Vergesslichkeit nicht beendet wird.cosmac hat geschrieben:[...] erstmal das Kleingedruckte: Kinder, macht das nicht zu Hause nach! Die Risiken und Nebenwirkungen kann auch ein Arzt oder Apotheker kaum abschätzen!
funktioniert zwar, aber wehe, wenn das vor dem nächsten Reboot nicht zurückgesetzt wird.Code: Alles auswählen
chmod 444 /sbin/init
Darn, den Resetknopf hab ich ja total vergessen...cosmac hat geschrieben:Wenn man dann noch den Reset-Knopf abklemmt und eine USV mit ins PC-Gehäuse einbaut, ist alles abgedeckt, was mir jetzt einfällt, also schätzungsweise die Hälfte aller Möglichkeiten
Naja, ich hoffe ja, daß die Unterweisung die ich dazu gebe dem Nutzer im rechten Augenblick wieder einfällt. Nämlich dann, wenn der PC nicht herunterfährt wenn er es ihm befiehlt. Dann erinnert er sich hoffentlich daran, daß ich gesagt habe, daß das dann ok ist und ihn dann einfach laufen lassen soll. (Ich weiss, sowas fällt einem dann immer ein, kurz nachdem man den Netzstecker gezogen hat. Aber das ist dann halt Schicksal
![Wink ;)](./images/smilies/icon_wink.gif)
Oben gemachte Angaben, Falls nicht anderweitig Erwähnt, beziehen sich auf Debian Stable (Squeeze) amd64.
"Die Einen glauben zu Wissen, die Anderen wissen zu Glauben."
"Die Einen glauben zu Wissen, die Anderen wissen zu Glauben."
Re: shutdown verhindern
grundsätzlich ein guter Plan, aber gerade dann fällt der Strom aus oder der Kernel kommt in Panik. Aber rein gegen Vergesslichkeit könnte das Script warten, bis die ssh-Verbindung beendet ist, z.B. mit "killall -0 --wait $PID_DER_SHELL_DER_VERBINDUNG".debdog hat geschrieben:Ich dachte da an irgendwas in Scriptform. So daß, wenn dieser Vorgang gestartet wird, er auch nicht durch Vergesslichkeit nicht beendet wird.
Beware of programmers who carry screwdrivers.
Re: shutdown verhindern
Nicht vergessen, alle stromführenden externen Schnittstellen (wie z.B. USB und Firewire) zu verkleistern. So eine Büroklammer im USB-Port kann Wunder bewirken.cosmac hat geschrieben:Wenn man dann noch den Reset-Knopf abklemmt und eine USV mit ins PC-Gehäuse einbaut, ist alles abgedeckt, was mir jetzt einfällt, also schätzungsweise die Hälfte aller Möglichkeiten
Mit Blick auf deine Signatur wäre ein Metalldetektor am Büroeingang sicher auch nicht verkehrt.
![Wink ;-)](./images/smilies/icon_wink.gif)
Re: shutdown verhindern
hikaru hat geschrieben:So eine Büroklammer im USB-Port kann Wunder bewirken.
![Cool 8)](./images/smilies/icon_cool.gif)
Hmm, was könnte ich denn mit meinem Abgleichschraubendreher aus Kunststoff anstellen? Vielleicht den Lüfter blockieren bis das Teil abbrenntMit Blick auf deine Signatur wäre ein Metalldetektor am Büroeingang sicher auch nicht verkehrt.
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
Beware of programmers who carry screwdrivers.
Re: shutdown verhindern
Grüß Gott,
Tante Gurgel sagte zu der Frage "+shutdown +ssh +verhindern" u.a.:
[SOLVED Autom. Shutdown verhindern, wenn per ssh eingeloggt
Vielleicht helfen auch diese Beiträge weiter:
Aktuell angemeldete ssh Sessions auslesen? (Ubuntuusers)
auth.log auswerten mit grep (Ubuntuusers)
Das löst alles die Problemstellung nicht alleine, hilft aber womöglich bei der Gestaltung eines Skriptes, in welches "shutdown" oder "halt" eingebettet werden könnten ("wrapper").
Beispielsweise wäre doch ein Ansatz:
Solange diese Abfrage keine leere Menge als Ausgabe liefert, darf "halt" oder "shutdown" nicht ausgeführt werden.
Wenn es nicht ganz so restriktiv sein soll, kann mit grep ja auf die Zeichenfolge der eigenen Benutzerkennung des fernwartenden Benutzers geprüft werden.
Gruß
Sven
Tante Gurgel sagte zu der Frage "+shutdown +ssh +verhindern" u.a.:
[SOLVED Autom. Shutdown verhindern, wenn per ssh eingeloggt
Vielleicht helfen auch diese Beiträge weiter:
Aktuell angemeldete ssh Sessions auslesen? (Ubuntuusers)
auth.log auswerten mit grep (Ubuntuusers)
Das löst alles die Problemstellung nicht alleine, hilft aber womöglich bei der Gestaltung eines Skriptes, in welches "shutdown" oder "halt" eingebettet werden könnten ("wrapper").
Beispielsweise wäre doch ein Ansatz:
Code: Alles auswählen
sudo netstat -pute | grep ssh
Wenn es nicht ganz so restriktiv sein soll, kann mit grep ja auf die Zeichenfolge der eigenen Benutzerkennung des fernwartenden Benutzers geprüft werden.
Gruß
Sven