verhindern eines versehentlichen "reboot", "halt"
Wie sperre ich den Befehl "reboot" gegen versehentliche Benutzung? Da ich in xterms ständig auf unterschiedlichste Linux-PC-Server zugreife, und nicht versehentlich mal reboot auf einer falschen Maschine machen will, will ich "reboot" in "reboot_" umbenennen. "halt" habe ich durch Umbenennen von /sbin/halt nach /sbin/halt_ schon gegen versehentliche Ausführung geschützt. Oder wie geht es eleganter? danke schonmal Ekkard
Am Donnerstag, 15. April 2004 11:19 schrieb Ekkard Gerlach:
Wie sperre ich den Befehl "reboot" gegen versehentliche Benutzung? Da ich in xterms ständig auf unterschiedlichste Linux-PC-Server zugreife, und nicht versehentlich mal reboot auf einer falschen Maschine machen will, will ich "reboot" in "reboot_" umbenennen. "halt" habe ich durch Umbenennen von /sbin/halt nach /sbin/halt_ schon gegen versehentliche Ausführung geschützt. Oder wie geht es eleganter?
Grundsätzlich besteht die Gefahr, dass Du Probleme bei der Ausführung von Scripten bekommst, weil die sich auf die Standard-Umgebung verlassen. Meine Idee: Vorne in der Pfad-Variable ein weiteres Directory angeben, etwa in profile.local: "wenn die shell interaktiv ist und von port irgendwo kommt, dann setze PATH=/users/MeineSchutzFunktionen:$PATH" und unter MeineSchutzFunktionen: cat halt: echo "Pass doch auf, schon wieder falscher Rechner" (oder passender) Da der Pfad von links nach rechts bearbeitet wird, wird damit /sbin/halt ausgeblendet. Du solltest aber darauf achten, dass die System-scripte davon nicht beeinflusst werden (Umgebung). HTH, Wolfgang
Nur mal kurz meine Meinung dazu: Ich halte das alles fuer einen Fall von "security by obscurity" (im abstrakten Sinne)! Das geht genau solange gut, bis sich Ekkard dran gewoehnt hat, dass "reboot" nun als "reboot_" einzugeben ist, und dann wird es in Zukunft genau so schnell und unueberlegt eingegeben werden mit den gleichen Konsequenzen wie bisher. Auch eine zusaetzliche Abfrage wird da nicht helfen, die wird naemlich dann gedankenlos mit "j" oder "y" beantwortet (genauso wie jetzt gedankenlos einfach "reboot" ausgefuehrt wird). Der Mensch ist naemlich ein Gewohnheitstier. Ich halte es fuer wesentlich sinnvoller, 1. moeglichst nicht als root zu arbeiten, 2. vor jedem Befehl, den man als root eingibt, zu ueberpruefen, ob es auch der richtige ist (dazu muss man sich notfalls eben zwingen, wenn man das nicht von vorne herein beherrscht) und 3. z.B. den Rechnername in den Shell-Prompt mit aufzunehmen, denn dann sieht man sofort, auf welcher Maschine man sich befindet. Als root sollte man immer aufmerksam arbeiten. Just my 2 Cents, -Thomson-
Am Freitag, 16. April 2004 11:04 schrieb Thomas Hertweck:
Nur mal kurz meine Meinung dazu: Ich halte das alles fuer einen Fall von "security by obscurity" (im abstrakten Sinne)! Das geht genau solange gut, bis sich Ekkard dran gewoehnt hat, dass "reboot" nun als "reboot_" einzugeben ist, und dann wird es in Zukunft genau so schnell und unueberlegt eingegeben werden mit den gleichen
Das ist dann richtig, wenn er es auf allen Rechnern so macht. Wenn er aber nur für die kritischen Rechner etwas dazwischensetzt, sollte die Gewöhnung gehemmt sein.
Konsequenzen wie bisher. Auch eine zusaetzliche Abfrage wird da nicht helfen, die wird naemlich dann gedankenlos mit "j" oder "y" beantwortet (genauso wie jetzt gedankenlos einfach "reboot" ausgefuehrt wird). Der Mensch ist naemlich ein Gewohnheitstier. Ich halte es
Richtig, dafür hatte ich mal - in einem anderen Zusammenhang, es sollte die HW eines Plotters geschützt werden - ein Script geschrieben, das abhängig von der Endminute eine andere Frage stellt und eine andere Antwort erwartet, und zwar 5 Paare in beiden Richtungen (yes - no, ja - nein, etc). Die Wirkung war nahezu 100%. Einfaches Bestätigen ging nicht, man musste die Frage bewusst lesen, und dabei fiel einem auch ein "hab ich eigentlich wirklich..."
fuer wesentlich sinnvoller, 1. moeglichst nicht als root zu arbeiten, 2. vor jedem Befehl, den man als root eingibt, zu ueberpruefen, ob es auch der richtige ist (dazu muss man sich notfalls eben zwingen, wenn man das nicht von vorne herein beherrscht) und 3. z.B. den Rechnername in den Shell-Prompt mit aufzunehmen, denn dann sieht man sofort, auf welcher Maschine man sich befindet. Als root sollte man immer aufmerksam arbeiten.
Aber genau dafür ist im Alltag nicht immer die erforderliche Zeit, leider. Und den shell-Promt übersieht man schon mal. Bevor man remote in 500 km Entfernung ein System mit halt stoppt, kommt man schon mal ins grübeln, wie man noch eine Notbremse einbauen kann, besonders, wenn niemand vor Ort ist... Muss jeder für sich entscheiden, kann aber im Einzelfall Sinn machen. Wolfgang
Wolfgang Hinsch
Aber genau dafür ist im Alltag nicht immer die erforderliche Zeit, leider. Und den shell-Promt übersieht man schon mal. Bevor man remote in 500 km Entfernung ein System mit halt stoppt, kommt man schon mal ins grübeln, wie man noch eine Notbremse einbauen kann, besonders, wenn niemand vor Ort ist...
Naja, offensichtlich eine Geschmacksfrage. Ich z.B. gebe 'halt' genau einmal am Tag irgendwo ein und da ist es eigentlich kein Problem, mich vorher zu vergewissern, daß damit auch tatsächlich der Rechner unter meinem Schreibtisch ausgeschaltet wird. 'reboot' benutzte ich noch seltener. Eigentlich benutze ich beide Befehle überhaupt nicht, denn dank BSD habe ich mich an 'shutdown -r|-h now' gewöhnt (da führen halt/reboot nämlich keine Shutdown Hooks aus, was für eine Workstation eigentlich auch ganz ok ist). ;-) Martin P.S.: Ich sage das, obwohl ich zu Beginn meiner Tätigkeit auch zweimal einen entfernten Kundenrechner heruntergefahren habe. Damals habe ich genauso überlegt, wie ich mich davor bewahren kann und habe mich dann aber dafür entschieden, daß Aufmerksamkeit wohl der beste Schutz wäre. Seitdem funktioniert das auch.
Hallo Ekkard, On Thu, Apr 15, 2004 at 11:19:43AM +0200, Ekkard Gerlach wrote:
Wie sperre ich den Befehl "reboot" gegen versehentliche Benutzung? Da ich in xterms
in ~/.bashrc oder ~/.bash_profile auf den externen Servern einen alias setzen. (Bei csh etc. eben die entsprechende Datei nehmen) alias reboot='echo "<RECHNER> wird nicht neu gestartet!"' alias halt='echo "<RECHNER> wird nicht heruntergefahren"' alias shutdown='echo "..."' sollte das meisste abfangen. Wenn du es nur auf den wichtigen Servern so einrichtest, dann gewöhnst du dich auch nicht daran, immer den kompletten Pfad anzugeben. (Gewöhnungs Argument nebenan) Greetings Daniel -- Wohlstand ist, wenn die Menschen mehr Uhren haben als Zeit.
Hi all, Am Freitag April 16 2004 17:18 schrieb Daniel Lord:
On Thu, Apr 15, 2004 at 11:19:43AM +0200, Ekkard Gerlach wrote:
Wie sperre ich den Befehl "reboot" gegen versehentliche Benutzung? Da ich in xterms
in ~/.bashrc oder ~/.bash_profile auf den externen Servern einen alias setzen. (Bei csh etc. eben die entsprechende Datei nehmen)
Und was ist, wenn man nicht der einzige Admin auf der Maschine ist? Oder mehrere Dienstleister drauf arbeiten? Oder der Eigentümer der Maschine selbst (meist eher ungeübt), der sich dann plötzlich mit einem etwas anderem Verhalten konfrontiert sieht? Menschen sind nun mal Gewohnheitstiere und ich hab's schon ganz gern, wenn sich die Linuxe weitestgehend einheitlich verhalten. Das reboot-Problem (oder ein shutdown auf der falschen Maschine) ist mir schon bewußt, da hilft eigentlich nur aufpassen. Da ich selbst von einem Linux aus administrieren konnte und KDE zur Verfügung hatte, habe ich gelegentlich eben die Konsolen der Rechner, auf denen ich mich eingeloggt hatte, eingefärbt - ihr wißt schon, wenn die Nacht halt mal wieder etwas zu kurz geraten war. Ansonsten hilft ungemein, bei Einrichtung der Server drauf zu dringen, daß die Dinger sprechende Namen erhalten, Funktion oder Standort. Just my 2 ¢, Helga -- ## Content Developer OpenOffice.org: lang/DE ## Office-Suite für Linux, Mac, Windows -- http://de.openoffice.org/ ## Werkstatt & Information zu OpenSource -- http://www.eschkitai.de/ ## Etikette, nein Danke? -- http://www.suse-etikette.de.vu/
*** Helga Fischer (Azula@gmx.de) schrieb am Apr 16, 2004 in suse-linux:
Hi all,
Am Freitag April 16 2004 17:18 schrieb Daniel Lord:
On Thu, Apr 15, 2004 at 11:19:43AM +0200, Ekkard Gerlach wrote:
Wie sperre ich den Befehl "reboot" gegen versehentliche Benutzung? Da ich in xterms
in ~/.bashrc oder ~/.bash_profile auf den externen Servern einen alias setzen. (Bei csh etc. eben die entsprechende Datei nehmen)
Und was ist, wenn man nicht der einzige Admin auf der Maschine ist? Oder mehrere Dienstleister drauf arbeiten? Oder der Eigentümer der Maschine selbst (meist eher ungeübt), der sich dann plötzlich mit einem etwas anderem Verhalten konfrontiert sieht?
Helga, ich habe bisher einiges von Dir gehalten aber diese Meinung scheint eine unzureichende Basis gehabt zu haben. Da steht "~/.bashrc" und nicht "/etc/bash.bashrc"!
[...] Das reboot-Problem (oder ein shutdown auf der falschen Maschine) ist mir schon bewußt, da hilft eigentlich nur aufpassen.
Oder nicht generell als "root" zu arbeiten... Aber das Thema hatten wir bereits (sigh!)...
[...]
MfG Henning Hucke
--
"... die Aussage 'C-Programme sind portabel' ist lächerlich und nicht
haltbar, ..."
Jan Ritzerfeld in
Daniel Lord wrote:
Hallo Ekkard,
On Thu, Apr 15, 2004 at 11:19:43AM +0200, Ekkard Gerlach wrote:
Wie sperre ich den Befehl "reboot" gegen versehentliche Benutzung? Da ich in xterms
in ~/.bashrc oder ~/.bash_profile auf den externen Servern einen alias setzen. (Bei csh etc. eben die entsprechende Datei nehmen)
alias reboot='echo "<RECHNER> wird nicht neu gestartet!"' alias halt='echo "<RECHNER> wird nicht heruntergefahren"' alias shutdown='echo "..."'
sollte das meisste abfangen. Wenn du es nur auf den wichtigen Servern so einrichtest, dann gewöhnst du dich auch nicht daran, immer den kompletten Pfad anzugeben. (Gewöhnungs Argument nebenan)
Greetings Daniel
Ich würde Scripts bzw. Aliases erstellen welche wie folgt benannt sind: reboot_HOSTNAME, shutdown_HOSTNAME, halt_HOSTNAME Die Aliases/Scripts rufen dann reboot, shutdown oder halt auf. So musst Du z.B. auf dem Host hera den Befehl reboot_hera eingeben um ein Reboot durchzuführen. Der original reboot Befehl wird nicht verändert und Du weisst genau welchen Host Du Bootest. Gruss Werner
participants (8)
-
Daniel Lord
-
Ekkard Gerlach
-
Helga Fischer
-
Henning Hucke
-
Martin Schmitz
-
Thomas Hertweck
-
Werner Merz
-
Wolfgang Hinsch