Reboot/halt/ blockieren

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
/ajk
Beiträge: 86
Registriert: 03.04.2002 14:45:58
Wohnort: Schweiz

Reboot/halt/ blockieren

Beitrag von /ajk » 08.07.2004 10:35:56

Grüezi,

ich möchte auf irgendeine Weise verhindern, daß aus versehen der Produktivserver heruntergefahren wird.
Wenn zum Beispiel per ssh auf ihn zugegriffen wird, besteht die Gefahr das mit einem simplen "reboot" oder "init 6" der Server neu gestartet wird.

Wie kann ich das "blocken"? Oder zumindest eine Abfrage a la: "Wollen sie wirklich rebooten? Dies ist der Server $Servername und hat soundso viele User die gerade aktiv sind!"
Und wenn man nichts tippt, dann macht es NEIN.

Ich denk da bleibt mir nur ein Script oder?

gruß

/ajk

tylerD
Beiträge: 4068
Registriert: 10.07.2002 17:34:13
Wohnort: Halle/Saale
Kontaktdaten:

Beitrag von tylerD » 08.07.2004 13:21:37

Ganz einfach-> nur Root darf runterfahren und man arbeitet als normaler User.

cu

/ajk
Beiträge: 86
Registriert: 03.04.2002 14:45:58
Wohnort: Schweiz

Beitrag von /ajk » 08.07.2004 16:55:32

Das ist eben nicht möglich, manche Dinge muß man per Root (su) erledigen. Vor allem wenn der Server frisch aufgesetzt ist und vieles nachkonfiguriert werden muß.

gibt es da keine Möglichkeiten?

gruß

/ajk

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 08.07.2004 17:00:39

/ajk hat geschrieben:Das ist eben nicht möglich, manche Dinge muß man per Root (su) erledigen. Vor allem wenn der Server frisch aufgesetzt ist und vieles nachkonfiguriert werden muß.
Ja, aber nur so kurz wie möglich root sein.

Warum nennst du nicht einfach reboot und halt in "reboot_JA" etc. um. Du kannst dann optional noch ein Skript schreiben, dass du reboot nennst, und welches nach einer entsprechenden Frage und Antwort reboot_JA ausführt. Letzteres sollte aber nicht nötig sein.

tylerD
Beiträge: 4068
Registriert: 10.07.2002 17:34:13
Wohnort: Halle/Saale
Kontaktdaten:

Beitrag von tylerD » 08.07.2004 17:41:48

/ajk hat geschrieben:Das ist eben nicht möglich, manche Dinge muß man per Root (su) erledigen. Vor allem wenn der Server frisch aufgesetzt ist und vieles nachkonfiguriert werden muß.

gibt es da keine Möglichkeiten?

gruß

/ajk
Ist trotzdem Möglich. Der jenige, der als root arbeitet, der sollte wissen, was seine Taten für Folgen haben.

Für alle anderen gibt es sudo. Dort kann root zum Beispiel festlegen, das bestimmte User meinetwegen Confdatein ändern dürfen und bestimmte Dienste neustarten dürfen.

Ist alles schon gelöst. Erfordert halt nur administrativen Aufwand und man muss sich nen bissel zusammenreißen, da nen einfaches einloggen als root bequemer ist(mach ich wahrscheinlich auch zu oft).

cu

/ajk
Beiträge: 86
Registriert: 03.04.2002 14:45:58
Wohnort: Schweiz

Beitrag von /ajk » 09.07.2004 07:57:19

Reboot_JA wäre eine gute Idee.

Aber wie ändere ich das? (EDIT: ok wie man das umbenennt ist klar)
Genauso wie bei halt und init 6 usw..

Ich dachte per su hat man auch die gleichen Möglichkeiten wie per Root. Oder nicht?

Als Root zusammenreißen ist gut gesagt. Ich hatte einmal den Fall das ich per Shell auf einem Linux Rechner auf einem anderen drauf war. Und denn physisch anwesenden Rechner herunterfahren wollte. Den Rest könnt ihr euch selber denken.

Mein Fehler, meine Nachlässigkeit, aber ich möchte trotzdem verhindern das weder mir noch anderen so etwas geschieht.

/ajk

tylerD
Beiträge: 4068
Registriert: 10.07.2002 17:34:13
Wohnort: Halle/Saale
Kontaktdaten:

Beitrag von tylerD » 09.07.2004 08:36:29

su und sudo ist nicht das gleiche [1]. Es ist zwar administrativer Aufwand, aber es ist durchaus Möglich, einen normalen Benutzer mittels sudo die Rechte für bestimmte Aktionen (wie zum Beispiel Confdateien editieren oder bestimmte Dienste neustarten) zu geben. Somit ist man dann immer als normaler Bentzer angemeldet und holt sich dann nur für die eine Aktion die benötigten Rechte. Das sollte sogar für alle administrativen Aufgaben ein recht guter Weg sein, da man jede Aktion nicht einfach machen kann, sondern mittels sudo explizit anfordern muss, und somit immer einen kleinen Kontrollzwischenschritt hat.

cu


[1] http://www.courtesan.com/sudo/man/sudo.html

/ajk
Beiträge: 86
Registriert: 03.04.2002 14:45:58
Wohnort: Schweiz

Beitrag von /ajk » 09.07.2004 11:48:47

vielen Dank für eure Hilfe!

Den Administrativen Aufwand scheue ich nicht, was mir fehlt ist oftmals das Wissen.
Darum auch doppelter Dank an euch.

Mir schwebt zum beispiel vor, auf dem Produktivservern den Befehl "halt" in "halt_JA" zu ändern. (Natürlich mache ich das jetzt nicht einfach so, sondern informiere mich jetzt erst darüber!)

Soweit ich das verstanden haben benennt man den Script um. Also den Script "halt".
(bzw. reboot, init 6, shutdown, usw usw)

Das mit dem sudo ist ein guter Hinweis!


gruß

/ajk

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 09.07.2004 13:08:50

/ajk hat geschrieben:Soweit ich das verstanden haben benennt man den Script um. Also den Script "halt".
(bzw. reboot, init 6, shutdown, usw usw)
Ja, sollte einfach per mv umbenannt werden können.

init solltest du nicht umbenennen, sonst bekommst du arge Probleme. Gewöhne dir einfach ab, init 6 zum runterfahren einzugeben.

Aber per sudo festlegen, was gemacht werden darf (und z.B. verbieten, dass man halt ausführt), ich sicherlich der bessere Weg,

/ajk
Beiträge: 86
Registriert: 03.04.2002 14:45:58
Wohnort: Schweiz

Beitrag von /ajk » 09.07.2004 14:18:43

gut, stimmt init umzubennen wäre ziemlich doof.

MIt Sudo werde ich mich jetzt intensiv auseinandersetzen, aber Halt usw.. werde ich trotzdem umbenennen auf "halt_JA".
(Und alles Dokumentieren :roll: )

init 6 werde ich einfach nicht verwenden.

Und wenn ich "halt" eingebe wäre es gut wenn eine Echo ausgabe kommen würde. ("dies ist der $SERVERNAME Wollen Sie das wirklich tun? Ich denke eher nicht!") Oder so.

Najo ich merke schon das ich ein gutes Scripte Buch benötige. Ich weiß ja grad mal die GrundGrundlagen.. Habt ihr vielleicht eine Empfehlung für mich? (Auf Deutsch wäre gut, aber Englisch tut es auch)

gruß

/ajk

tylerD
Beiträge: 4068
Registriert: 10.07.2002 17:34:13
Wohnort: Halle/Saale
Kontaktdaten:

Beitrag von tylerD » 09.07.2004 14:52:15

Ein Buch nicht, aber vielleicht reicht dir ja erst mal [1]. Vor allem der letzte Punkt wo es um Dialog geht, sollte für dich interessant sein. Damit lassen sich verdammt einfach Abfragen gestallten (weiter Infos wie immer unter man dialog).

cu

[1] http://www.linuxfibel.de/bashprog.htm

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Beitrag von g-henna » 09.07.2004 20:22:00

Hi!

Die Einträge in $PATH werden doch der Reihe nach durchgegangen, oder? Also mach irgendwo (vorzugsweise /root/.bashrc oder /root/.bash_profile) ungefähr sone Einstellung:

Code: Alles auswählen

PATH=~/scripts:$PATH
Und dann kannst du in deinem home-Unterordner scripts einfach ein Script legen, das reboot bzw. halt heißt, und /sbin/halt eben erst nach einer Sicherheitsabfrage ausführt. Zum Beispiel /root/scripts/reboot:

Code: Alles auswählen

#!/usr/bin/python
from os import system
print "Wollen Sie wirklich den Rechner",
print open("/etc/hosts").read(),
print "herunterfahren?\n> "
answer = raw_input()
if answer in ['y','Y','j','J']:
     system("/sbin/reboot")
else:
    print "Puuuh, nochmal Glück gehabt, ne?"
Bye
g-henna

Edit: Ausführbar machen!!!
follow the penguin...

/ajk
Beiträge: 86
Registriert: 03.04.2002 14:45:58
Wohnort: Schweiz

Beitrag von /ajk » 12.07.2004 08:23:45

Jo ich werde mich jetzt daran machen. Merci und vielen Dank!

Nicht das solch ein scheiß noch einmal passiert. :(


/ajk

Antworten