Re: Shutdown temporär unterbinden; ein Durchbruch
Nachtrag!
=========
Da der originale Name von 'shutdown' geändert wurde,
-> '/sbin/shutd0wn'
muß auch der Eintrag in '/etc/inittab' entsprechend geändert werden:
ca:12345:ctrlaltdel:/sbin/shutd0wn -t1 -a -h now
------------------------------------------------
Am System ist insgesamt folgendes zu ändern:
--------------------------------------------
der Programmname 'shutdown' -> 'shutd0wn'
der Eintrag in inittab (s.o.)
Erstellung eines neuen Shellskripts: '/usr/local/sh/shutdown'
Ergänzung von "$PATH" um das Verzeichnis '/usr/local/sh/'
Für das Login / Logout von root wurde geändert:
in '~/.profile': Eintrag zur Erzeugung von '/etc/shutdown.allow'
in '~/.bash_logout: Eintrag zur Löschung von '/etc/shutdown.allow'
======================================================================
On Sun, Nov 21, 2010 at 06:20:02PM +0100, Wilko Fokken wrote:
>
> 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 . . . . . . . . . . . . "Beware of old men:
Landschaftspolder 67 . . . . . . . . they haven't got anything to loose."
D-26831 Bunde
------------------------- . . . . . Peter Scholl-Latour
Tel. 04953-9219882
Reply to: