Heute habe ich versehentlich eine Produktionsmaschine heruntergefahren, weil ich dachte, ich wäre auf meiner lokalen Maschine. Ich weiß, Anfängerfehler :-(
Als Lösung dafür, dass es nicht wieder vorkommt, habe ich mir überlegt, die Ausführungsberechtigung für den Befehl zum Herunterfahren zu entfernen, da dieser Computer immer eingeschaltet sein sollte.
Ist das eine gute Idee? Können Sie dabei unerwünschte Nebenwirkungen erkennen?
Prost, Dan
Antworten:
Ein weiterer Ansatz, um gewarnt zu werden, dass Sie an einer Produktionsmaschine arbeiten, ist das Markieren des Terminals. Zum Beispiel könnte der
user@machine:~#
Text auf Produktionsmaschinen rot, bei der Entwicklung grün usw. sein. Hier ist ein nettes Tutorial, wie das geht: Color Bash Promptquelle
Der beste Rat, den ich Ihnen geben kann, ist, sich nicht als Root anzumelden, es sei denn, Sie benötigen Root-Zugriff und stellen sicher, dass Sie auf jedem Computer ein anderes Root- / Sudo-Passwort haben.
Das Herunterfahren des Herunterfahrens ist eine Option, aber keine gute. Entweder Alias
shutdown
zushutdown -a
undtouch /etc/shutdown.allow
oderchmod a-x /sbin/shutdown
Und wo endet es? Werden Sie auch das Anhalten, Neustarten und Initialisieren nicht zulassen?
quelle
-a
. Sich auf einen solchen Alias zu verlassen, ist dasselbe wie sich darauf zu verlassenalias rm='rm -i'
- eines Tages wird es nicht mehr da sein, wenn Sie es wirklich brauchen. Außerdemshutdown -a
hat es ohnehin nur begrenzten Nutzen.Einige Punkte zu beachten:
quelle
Ich denke nicht, dass das Durcheinander mit den Berechtigungen
shutdown
der Weg ist, um mit der Situation umzugehen. Grundsätzlich haben Sie gerade eine Lektion gelernt. Chin up.Ich habe die gleichen Dinge getan - lange Ketten von SSH-Sitzungen zu bekommen, dann mit den Routen auf einer der Maschinen herumzuspielen, die ich durchlaufen habe, und mich selbst abzuschneiden. Ich habe eine Rsync-Anfrage verpfuscht, die zu einer systematischen Zerstörung eines Systems auf der anderen Seite der Welt führte. Ich habe
rm -rf / path
auf einem Produktionsserver ausgeführt. (Dieses Mal musste ich lernen, wie die Wiederherstellungen funktionierten.)Also, viel älter und hoffentlich ein bisschen weiser, habe ich jetzt strenge Regeln, die ich mir selbst auferlege.
Die Art meines Jobs erfordert, dass ich viel Zeit mit vielen verschiedenen Eingabeaufforderungen verbringe, aber dank meiner Fehler in der Vergangenheit habe ich ein weitaus besseres Situationsbewusstsein als zu Beginn.
quelle
Wenn Sie Ubuntu verwenden, versuchen Sie es mit Molly-Guard. Wie in dieser ähnlichen Frage besprochen .
quelle
Kommt wirklich darauf an. Sie könnten versuchen, den Befehl einfach zu verpacken, aber wenn Sie Updates oder Upgrades durchführen, die sich auf diese ausführbare Datei auswirken, können Sie dies vergessen und ein Update vermasseln. Das Spielen mit Befehlen zum Herunterfahren des Systems kann eine PITA sein, insbesondere wenn Sie neue Mitarbeiter oder einen Ersatz haben, der nicht weiß, dass Sie mit System-Binärdateien gespielt haben.
Persönlich würde ich versuchen, den Befehl in ein Skript zu packen, das das System anhand seines Namens identifiziert und Sie bestätigen lässt, dass Sie dies wirklich tun möchten, bevor Sie die eigentliche Binärdatei ausführen, oder dass Sie eine bestimmte Folge von Buchstaben eingeben müssen, um das Herunterfahren zu bestätigen bevor es die Binärdatei ausführt. Das sollte eine Pause geben.
quelle
Sie können die Eingabeaufforderung so einstellen, dass sie zumindest auf Servern den Computernamen enthält. Dies kann möglicherweise dazu beitragen, zu verhindern, dass in Zukunft andere Befehle auf dem falschen Computer ausgeführt werden. Es ist effektiver, wenn die Computernamen farbig sind, um sie hervorzuheben, und Sie können sogar einen Farbcode verwenden, um Serverrollen zu identifizieren.
quelle
Eine Möglichkeit besteht darin, nicht
su
direkt zu verwenden und / oder sich anzumeldenroot
. Besser auf das Konto in direkt einloggen und anderes Passwort hat fürroot
auf dem lokalen Rechner und SSH - Schlüssel.Natürlich wird zusätzlich zur roten Eingabeaufforderung '#' gesucht.
quelle
Ja, das Entfernen des Ausführungsbits im Befehl shutdown ist die einfachste und sicherste Methode, um versehentliches Herunterfahren zu verhindern, insbesondere wenn Sie eine Desktop-Umgebung wie KDE auf dem Computer haben und versehentliches Herunterfahren beim Abmelden verhindern möchten.
Wenn neue Leute verwirrt sind, denke ich, dass sie als Erstes
ls -l /sbin/shutdown
herausfinden müssen, warum es nicht funktioniert (insbesondere, wenn sie die gute Angewohnheit haben, ausführbare Namen mit Tabulatoren zu vervollständigen). Natürlich sollten Sie ihnen alle Änderungen mitteilen, die Sie vorgenommen haben.Für zusätzliche Sicherheit können Sie eine Zeile hinzufügen
/etc/rc.local
, um das Ausführungsbit aus dem Befehl zum Herunterfahren zu entfernen, damit Sie nicht vergessen, es nach einem Neustart zurückzusetzen.quelle
Sie können / sbin / einfach aus dem Pfad von root entfernen. Auf diese Weise müssen Sie den vollständigen Pfad eingeben, um ihn auszuführen. In der Regel werden Unfälle behoben.
quelle