[linux-l] shellbefehle loggen

Steffen Dettmer steffen at dett.de
Mo Mai 13 11:43:27 CEST 2002


* Olaf Radicke wrote on Fri, May 10, 2002 at 13:51 +0000:
> On Fri, May 10, 2002 at 09:46:15AM +0200, Ruwen Poljak wrote:
> >    ich suche ein tool welches shellebefehle in eine logdatei
> >    schreibt. wichtig wäre, das nur bestimmte shellbefehle mitgeloggt
> >    werden, also bsp. rm, oder mv, das müßte dann über eine
> >    configdatei steuerbar sein. 
>  
> Für jede offene Shell wird ein Divice angelegt. Das kann man
> auslesen wie eine Datei. 

Wie meinst Du das? Meinst Du, daß man stdio durch eine named FIFO
umlenkt und der Shell die FIFO als stdio gibt? Oder was für ein
Device soll er anlegen?

> Denkbar währe also ein Perl-Skript das im ersten Schritt per
> Bashbefehl "w" guckt wer ist eingelockt, wer hat welches 
> Divice.

Na ja, bloß dann hat die Shell ja i.d.R. ein Terminal, da kann
man ja dann nichts mehr dazwischen hängen.

> Als Zweites, in das Divice guckt und alles verwirft bis 
> "Mein-Schlüssel-Word" kommt und dann mitschreibt ...

Das wird verdammt kompliziert zu parsen. Ich kann mir nicht
vorstellen, daß man auf dieser Ebene Kommandoabhängig filtern
kann. Du kannst ja schreiben:
ls="rm" && $ls filename
und sowas. Oder ein Script starten. Ganz toll ist immer der
Eintrag "mc" in solchen logs.

> Es wird aber sehr knifflig die Fehler ab zu fangen. 

Ja, wieso?

> Der andere Weg könnte sein, die ".bash_history" auszuwerten.

Die wird nur beim Beenden der Shell geschrieben, und das kann man
auch einfach umgehen.

Kommt auch sehr darauf an, was Du machen möchtest. Möchtest Du
ein Log, falls ein Admin Mist macht (und man wissen möchte, wer
es war), oder nur ein File, wo Kommandos drin stehen, damit man
sie nicht vergißt usw.

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.



Mehr Informationen über die Mailingliste linux-l