Verhindern Sie, dass der PC über den Netzschalter heruntergefahren wird

9

Ich baue einen PC und einen BeagleBords ARM, die für den öffentlichen Gebrauch eingebettet sind. Sie führen Ubuntu 13.04 bzw. manuell zusammengestelltes Linux aus. Gibt es eine Möglichkeit zu verhindern, dass sie beim Drücken der Shutdown-Taste heruntergefahren werden (bei Groß- und Kleinschreibung, nicht bei Tastatur)? Klar, ich kann es in Hardware machen. Ich bevorzuge nur Softwarelösungen. Wenn jemand mit Sicherheit sagen kann, dass dies unmöglich ist, wäre dies auch eine nützliche Antwort.

Ergebnis: Ok, ich habe es verstanden. Man kann ein Herunterfahren beim Drücken verhindern, aber nicht bei langem Drücken. Ich muss die Hardware umschalten, um den Netzschalter bei Bedarf auszuschalten.

Barafu Albino
quelle
Müssen Sie absichtliches oder versehentliches Drücken von Tasten verhindern? Beachten Sie, dass es normalerweise andere Möglichkeiten gibt, ein System neu zu starten / herunterzufahren, einschließlich Magic SysReq (kann deaktiviert werden) und zu TTY zu wechseln und dann mit Strg-Alt-Entf neu zu starten.
Lekensteyn
user173876 erwähnte etwas (in einer Antwort ohne Antwort , das wir gelöscht haben), das möglicherweise berücksichtigt werden sollte: Ich habe mehrere Situationen (in meinem Fall während eines GIMP-Vorgangs) erlebt, in denen alle Bildschirmstarter UND die Tastatur nicht mehr reagierten, einschließlich Ctl-Alt- T, Alt-F1 ... F6, Ctl-Alt-Entf, Ctl-Alt-BkSp und die EINZIGE Möglichkeit bestand darin, den Netzschalter zum Herunterfahren / Neustarten zu verwenden. Wenn Sie diese Funktion entfernen, müssen Sie möglicherweise den Akku entfernen und / oder am Netzkabel ziehen. Oder es mit einem Hammer zerschlagen.
Eliah Kagan

Antworten:

3

Sie können den nächsten Befehl im Terminal verwenden :

sudo chmod -x /sbin/shutdown

Wenn Sie erneut aktivieren möchten, verwenden Sie +xstattdessen -xdenselben Befehl.

Wenn Sie den Netzschalter einige Sekunden lang gedrückt halten, funktioniert die oben genannte Lösung nicht, und ich glaube nicht, dass Sie eine Softwarelösung für diesen Fall finden werden.

Radu Rădeanu
quelle
Sie sollten dpkg-statoverride verwenden , um die Berechtigungen während eines upstartUpgrades dauerhaft zu erhalten . Beispiel : sudo dpkg-statoverride --add root root 0644 /sbin/shutdown. Es muss jedoch beachtet werden, dass das Entfernen der Ausführungsberechtigungen die Option zum Herunterfahren für alle Benutzer dieses Programms (einschließlich poweroffund halt) unterbricht.
Lekensteyn
3

Es ist unmöglich. Sie müssen die Öffentlichkeit physisch vom Netzschalter fernhalten, genauso wie Sie verhindern müssen, dass sie das Netzkabel von der Wand ziehen oder die gesamte Maschine greifen und damit davonlaufen.

psusi
quelle
Ich bin nicht davon überzeugt, dass es unmöglich ist. Die Software ist für das Auslösen des Herunterfahrens verantwortlich. Wie würde Ihr Desktop sonst die Chance bekommen, das Menü zum Herunterfahren anzuzeigen oder Programme ordnungsgemäß zu beenden?
Lekensteyn
@Lekensteyn, es ist nicht, wenn Sie die Taste für 4 Sekunden gedrückt halten.
Psusi
Fünf Sekunden, nicht wahr? Dies ist in der Tat ein Schalter, der nicht überschreibbar ist, aber das einmalige Drücken (... und sofortiges Loslassen) der Abschalttaste wird von ACPI ausgeführt, was bedeutet, dass er abgefangen und ignoriert werden kann. Sie haben jedoch Recht, es ist wahrscheinlich, dass das OP absichtliche Versuche erwägt, das System herunterzufahren.
Lekensteyn
2

Sie müssen ändern ...

/etc/acpi/powerbtn.sh

und kommentiere diese Zeile aus (ich habe bereits das # hinzugefügt) ...

#/sbin/shutdown -h now "Power button pressed"
  • Dies betrifft nur den Netzschalter und nicht das Herunterfahren aus dem Menü.
  • Beachten Sie aber auch den Fehler 1124149 , der behauptet, dass er aufgrund eines Wechsels von / usr / bin / qdbus nach / usr / lib / i386-linux-gnu / qt4 / bin / qdbus möglicherweise nicht immer funktioniert (Fehler betrifft auch Ubuntu).
Rinzwind
quelle
Diese Lösung hat keine Auswirkungen auf mein System.
Radu Rădeanu
Das wird der Fehler sein @ RaduRădeanu :) Es funktioniert am 12.10 bei der Arbeit; und auch nicht auf meiner Maschine zu Hause (das hat 13.04). Verwenden Sie also in der Zwischenzeit die Radu-Methode, aber das betrifft wahrscheinlich auch andere Tasten auf der Tastatur.
Rinzwind
Das
hört