Dann sollte man halt einfach sein Hirn einschalten und prüfen, auf welchen Server man sich befindet. Schliesslich ist ein "reboot" mit "/sbin/reboot" dann möglich.
Hast du dir mal die Intension von Molly-Guard angeschaut? Ich habe das Gefühl, dass dem nicht so ist.
Ja aber die Befehle sind nutzlos also kann man ihn nicht einfach so rebooten.
Es geht aber nicht darum die Befehle nutzlos zu machen sondern sie eine zusätzliche Verifizierung ausführen zu lassen.
Was hat das jetzt mit ssh zu tun?
Wo steht geschrieben, dass Molly-Guard nur für SSH eingesetzt wird? Historisch gesehen sollte genau dieser Druck auf den Power-Button abgefangen werden, da die Tochter Molly dadurch immer den Server abgeschaltet hat. Aus dem ursprünglichen Hardware-Schutz (Plexiglas-Klappe über den Power-Button) wurde dann eine Software-Lösung (Abfrage vor dem Ausführen des Befehls).
Man kann ja die Ausgabe des Aliases noch anpassen:
Code:
alias reboot='echo "ACHTUNG! Aktueller HOST lautet: $(hostname)"'
Nochmal: Es geht nicht darum die Ausführung der Befehle zu verhindern sondern sie eine zusätzliche Verifizierung durchführen zu lassen, so dass man sicher ist, dass der korrekte Server/Rechner neugestartet/runtergefahren wird. Und darum, dass das Töchterchen, das den Power-Button drückt, dadurch nicht den Server abschiesst.
Genau aber Binär Dateien ersetzten ist besser? Nach einem Update sind sie wieder da und man muss sich wieder darum kümmern! Nicht wirklich eine Lösung!
Immutable-Bit heisst das Zauberwort. Am Shutdown-Programm wurden bereits sein Jahren keine Änderungen mehr vorgenommen, so dass es unwahrscheinlich ist, dass dafür nochmal Updates kommen sofern nicht irgendwas sehr grundlegendes im Kernel verändert wird. Es spricht also nichts dagegen seine Wrapper mit Immutable-Bit auszustatten. Alternativ kann man seine Wrapper auch ordentlich paketieren und nach einem Update der System-Tools auch ein Update des Wrapper-Pakets durchführen. Mit den BSD-Ports lässt sich sowas problemlos im zugehörigen Makefile verdrahten. Oder man legt seine Wrapper so ab, dass sie in $PATH vor den eigentlichen shutdown-Befehlen liegen, so wie es auch das Debian-Paket tut. Hat allerdings die gleiche Schwäche wie deine Aliases: Ändert man $PATH oder lässt die Shell-Konfiguration aus irgendeinem Grund nicht laden, greift es nicht mehr.
Wie bereits gesagt: Die Idee mit dem Alias war auch mein erster Gedanke. Sie erfüllt aber leider nicht die Kriterien von Molly-Guard. Und hier wurde explizit nach einem "BSD Pendant zum Programm (Script) Molly-Guard" gefragt. Und wenn man das haben will, bleibt einem nichts anderes übrig als die Binaries auszutauschen. Imo kann man nur so sicherstellen, dass die Abfrage tatsächlich immer erfolgt.