[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: