Protokollierung der BASH-Shell-Sitzung auf dem Remote-Host


8

Was ist die beste Methode, um eine BASH-Shell-Sitzung in einer Datei auf dem Host-Computer zu protokollieren?

Das bevorzugte Ausgabeformat entspricht der PuTTY-Protokolleinstellung "Druckbare Ausgabe", wie sie vom Benutzer einschließlich der Eingabe und ausschließlich der ncurses-Steuerzeichendaten angezeigt wird.


Neugierig zu wissen, welche Shell Sie verwenden.
Dr.Pooter

Antworten:


4

Es könnte sich lohnen, sich Shell- oder Systemprüfprogramme wie Rootsh oder Sudosh anzusehen .


rootsh kommt dem, was ich will, am nächsten, danke.
Andy

1
Sie können auch acct / psacct (BSD-Buchhaltung) oder snoopy berücksichtigen. Sie protokollieren die Ausgabe nicht, sind aber auch weniger ausführlich. Siehe: cyberciti.biz/tips/… und sourceforge.net/projects/snoopylogger
Mircea Vutcovici

Die rootshApp ist jetzt veraltet und sudoshscheint nicht gewartet zu werden. Wir haben einen hauchdünnen Wrapper implementiert sudo, um sudoihn als Anmeldeshell für die Sitzungsprotokollierung verwenden zu können. Siehe hier: github.com/cloudposse/sudosh
Erik Osterman

2

Sie können den Gnu-Bildschirm starten und die Protokollfunktion verwenden. Ich weiß nichts, was Ihnen ein wirklich gutes Protokoll für ncurses- Anwendungen wie top geben wird.

Mann Bildschirm

log [on|off]

Start/stop writing output of the current window to a file "screenlog.n"
in the window's default directory, where n is the number of the current
window. This filename can be changed with the `logfile' command. ...

logfile filename
logfile flush secs

Defines the name the log files will get. The default is "screenlog.%n".
The  second  form changes the number of seconds screen will wait before
flushing the logfile buffer to the file-system. The default value is 10
seconds.

Die Ausgabe des Bildschirms entspricht der Skriptbehandlung - die Behandlung von Flüchen wird nicht unterstützt.
Andy


1

Das scriptProgramm erstellt ein vollständiges Protokoll Ihrer Shell-Sitzung. Keine Ahnung, ob es einer PuTTY-Sache entspricht.


Danke, aber es ist nicht geeignet, da ich Zeit mit geöffnetem Top auf der Shell verbringe. Der Bildschirm zeichnet Folgendes auf: [andy @ 165 ~] $ top ESC [HESC [2JESC (BESC [mtop - 23:34:49 up 19 days, 17 : 42, 1 Benutzer, Lastdurchschnitt: 0,11, 0,07, 0,01 ESC (BESC [mESC [39; 49 mESC [K
Andy

0

Ich bin mir nicht sicher, was Sie hier erreichen wollen. Ist das für Training oder Forensik? Wenn Sie etwas wollen, das gut lesbare Protokolldateien erzeugt, haben Sie wahrscheinlich kein Glück. Wenn Sie Sitzungen wiedergeben möchten, ist ttyrec genau das, wonach Sie suchen. Sie können es als Teil eines Anmeldeskripts ausführen, um die Sitzung eines Benutzers zu erfassen. Stellen Sie jedoch sicher, dass Sie 'trap' verwenden, um zu verhindern, dass ein Benutzer ttyrec beendet und zu einer Shell zurückkehrt.


Persönliche Prüfung und Protokollierung im Klartext; Die Wiedergabe von Sitzungen ist nicht erforderlich.
Andy

2
Skript ist das, was Sie wollen, am nächsten, obwohl es, wie gesagt, nicht gut mit Flüchen umgehen kann. Wir verwenden ein Skript zum Protokollieren aller Sitzungen und versuchen nur, die Unordnung zu überwinden, die ncurses verursachen wird.
Goo

Danke Geoff, es sieht so aus, als ob ich dann mit dem Skript nicht weiterkommen könnte.
Andy

0

Alle eingegebenen Befehle werden in die Datei .bash_history geschrieben, normalerweise bei Ihnen zu Hause. Sie können die Anzahl der Zeilen festlegen, die über die Einstellung HISTFILESIZE gespeichert werden.

Es gibt jedoch keine Zeitstempel und keine Ausgabe.

Wenn dies wirklich benötigt wird, würde ich einen Wrapper um Bash erstellen, stdin und stdout in eine Datei kopieren und das durcharbeiten.


0

Sie können versuchen, http://xgu.ru/wiki/LiLaLo zu verwenden. Es wird in Russland hergestellt, daher ist die Dokumentation auch in russischer Sprache, aber Google Translate hilft Ihnen dabei. Hier ist ein Beispiel für die Ausgabe: (Quelle: xgu.ru )Alt-Text


Die Übersetzung ist ein bisschen wackelig. Wird dies so etwas wie einen interaktiven Top-Prozess behandeln?
dr.pooter

Was das Bild betrifft, geht es nicht um vi, also kein Top, denke ich. Aber die Protokollierung ist ziemlich attraktiv.
TiFFolk
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.