Re: Shutdown temporär unterbinden; ein Durchbruch
Heureka,
'/sbin/shutdown' ist, soweit bislang getestet, unter Kontrolle:
Solange root eingeloggt ist, bleibt 'shutdown' für Normaluser inaktiv,
einerlei, ob 'sudo shutdown' oder nur 'shutdown' aufgerufen wird;
sobald root ausgeloggt ist, ist 'shutdown' wieder benutzbar.
Maßnahmen (vgl. früherer Beitrag, s.u.):
========================================
0) Beim Einloggen von root wird automatisch die Datei
"/etc/shutdown.allow" mit dem Eintrag: "niemand" erzeugt.
echo niemand > /etc/shutdown.allow
Beim Ausloggen wird diese Datei gelöscht
rm /etc/shutdown.allow
1) '/sbin/shutdown' wird permanent nach '/sbin/shutd0wn' umbenannt.
2) Ins allgemein zugängliche, mit "$PATH" erreichbare Verzeichnis,
z.B. '/usr/local/sh/' wird das Shellscript 'shutdown' geschrieben:
#! /bin/bash
sudo /sbin/shutd0wn -a "$*"
echo $?
Mit "chown root:fok shutdown" ("fok" = gemeinsame Gruppe der User)
und "chmod 750 shutdown"
wird 'shutdown' benutzbar gemacht.
3) Für automatische 'shutdown'-Blockade während der root-Aktivitäten
werden die unten aus meinem früheren Beitrag dargestellten Einträge
in '~/.profile' sowie '~/bash_logout' vorgenommen.
=======================================================================
Die obige Datei 'shutdown' kann für Meldungen leicht erweitert werden;
oben zeigt das Kommando 'echo $?', ob 'shutdown' erfolgreich ausgeführt
wurde: Ergebnis "0" = alles ok; Ergebnis "1" = Fehlermeldung.
Wie Meldungen in einem Grafiksystem an den Mann gebracht werden können,
entzieht sich meiner Kenntnis, da mein Rechner von 1996 ist.
=======================================================================
On Sat, Nov 20, 2010 at 07:19:42PM +0100, Wilko Fokken wrote:
>
> Hallo,
>
> mit meinem alten AMD-k5-Rechner unter Sarge und dem Windowmanager 'icewm' habe
> ich nachfolgende Konfiguration getestet:
>
>
> Vorgabe der Sarge-Installation:
> ===============================
> Der Shutdown-Eintrag in '/etc/inittab' enthält standardmäßig die Option
> '-a', so daß 'shutdown' abfragt, ob die Datei '/etc/shutdown.allow' existiert:
>
> "ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now"
>
> Existiert '/etc/shutdown.allow' und enthält nur einen einzigen Eintrag:
> einen unbekannten Login-Namen,
> dann ist das Programm '/sbin/shutdown' für Normaluser blockiert.
>
> Existiert '/etc/shutdown.allow' nicht, kann jeder Normaluser 'shutdown'
> ausführen.
>
>
>
> Meine Test-Konfiguration für Fernwartung:
>
>
> a) Eintrag in ~/.profile (Login-Level 0):
> --------------------------------------
> echo niemand > /etc/shutdown.allow
> init q
>
> b) Eintrag in ~/.bash_logout:
> --------------------------
> rm /etc/shutdown.allow
> init q
>
>
> zu a) Bei einem normalen Login wird '/etc/shutdown.allow' erzeugt mit dem
> Eintrag "niemand". (Dieser User sollte natürlich auf dem System
> unbekannt sein.)
>
> Der Befehl 'init q' macht die neue Konfiguration dem System bekannt.
>
>
> zu b) Beim Ausloggen von root wird '/etc/shutdown.allow' automatisch gelöscht,
> so daß ab jetzt jeder Normaluser den Rechner wieder mit 'Ctrl-Alt-Del'
> herunterfahren kann.
>
> Auch hier muß der Befehl 'init q' die Konfigurationsänderung dem System
> bekannt machen.
>
NICHT VERGESSEN:
> (Während der Wartungsarbeiten sollte keine Sekundär-Shell von root unter
> 'icewm' aktiv sein, da jeder User 'icewm' über dessen Menupunkt "Logout"
> beenden kann, wobei auch existierende, über 'su -' eingerichtete root-Sessions
> ins Nirwana mitgerissen werden. Dabei wird auch '~/.bash_logout' abgearbeitet,
> so daß '/etc/shutdown.allow' gelöscht wird: Danach kann jeder Normaluser den
> Rechner wie gewohnt mit 'Ctrl-Alt-Del' herunterfahren.)
>
Gruß Wilko
--
Wilko Fokken De Künst' geiht wiet, say de Boer;
Landschaftspolder 67 do sach hei 'n Aap.
D-26831 Bunde
--------------------
Tel. 04953-9219882
Reply to: