Hallo,
Thomas Guettler wrote:
Hallo,
auf einem Server arbeiten mehrere Personen unter einer Nutzerkennung. Wenn mehrere Shells offen sind, ist die bash_history nicht immer aussagekräftig. Außerdem möchte ich die Uhrzeit wisssen, wann ein Befehl ausgeführt wurde.
Vielleicht hilft dir "script". Wenn das beim Einloggen gleich gestartet wird, dann hast du hinterher ein Logfile, in dem alles Nötige drinsteht. Mit script -t bekommst du auch timing-Informationen, mußt eben auch stderr geeignet umleiten. Läßt sich dann auch mittels replay ganz gut anschauen...
Es sollte jeder Befehl der interaktiv eingegeben wird in ein Log-File geschrieben werden, das PID der Shell und Uhrzeit enthält.
PID der Shell bekommt man mittels $$ beim Start (einfach einen passenden Dateinamen mit angeben beim Start, z.B. etwas in der Art script -t ~/tmp/log.$$ 2>~/tmp/log.err.$$ Dann kannst du später mittels replay ganz genau verfolgen, was da wann passiert ist. Wenn du mit $LANG=de_DE arbeitest, kann es sein, daß dir script in den Output Fließkommazahlen mit "," schreibt, die dann replay nicht lesen kann. In dem Fall hilft dann perl -pi -e 's/,/./;' <log.err.PID> Später dann replay log.err.PID log.PID
Natürlich verhindert das nicht, daß dir jemand die script-Logs manipuliert oder sowas. Zu mehreren auf einem Account arbeiten ist und bleibt keine brauchbare Lösung.
Thomas
PS: Ich weiß, dass es besser wäre, wenn jeder einen eigenen Account hat und diese alle in einer Gruppe sind.
Gibt es wirklich keine andere Lösung? Es ist immer einer dafür verantwortlich, was mit einem Account passiert. Der ist im Zweifelsfall der Dumme, wenn einer die Loggingversuche umgeht und was Böses anstellt...
Ciao, Thomas