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.
Antworten:
Es könnte sich lohnen, sich Shell- oder Systemprüfprogramme wie Rootsh oder Sudosh anzusehen .
quelle
rootsh
App ist jetzt veraltet undsudosh
scheint nicht gewartet zu werden. Wir haben einen hauchdünnen Wrapper implementiertsudo
, umsudo
ihn als Anmeldeshell für die Sitzungsprotokollierung verwenden zu können. Siehe hier: github.com/cloudposse/sudoshSie 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
quelle
TTYrec ist wahrscheinlich die einfachste Lösung. Sie können das Original verwenden:
http://0xcc.net/ttyrec/index.html.de
Oder rollen Sie Ihre eigenen:
http://en.wikipedia.org/wiki/Ttyrec
Oder Sie könnten alle alte Schule bekommen und | Alle Ihre Befehle an tee command.timestamp.tee
quelle
Das
script
Programm erstellt ein vollständiges Protokoll Ihrer Shell-Sitzung. Keine Ahnung, ob es einer PuTTY-Sache entspricht.quelle
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.
quelle
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.
quelle
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 )
quelle