リモートホストでのBASHシェルセッションロギング


8

ホストマシン上のファイルにBASHシェルセッションを記録する最良の方法は何ですか?

推奨される出力形式は、PuTTYの「印刷可能な出力」ログ設定と同等であり、ユーザーが入力を含み、ncurses制御文字データを含まないように表示されます。


使用しているシェルを知りたいと思っています。
dr.pooter 2009年

回答:


4

それはのようなシェルやシステム監査のプログラムを見て価値があるかもしれないrootshまたはsudosh


rootshは、私が欲しいものに最も近いことがわかりました。
アンディ

1
acct / psacct(BSDアカウンティング)またはスヌーピーを考慮することもできます。出力はログに記録されませんが、詳細度は低くなります。参照:cyberciti.biz/tips/…およびsourceforge.net/projects/snoopylogger
Mircea Vutcovici

rootshアプリは廃止とされるsudoshメンテナンスされていないようです。セッションロギングの目的でログインシェルとして使用sudoできるようsudoに、紙のような薄いラッパーを実装しました。ここを参照してください:github.com/cloudposse/sudosh
Erik Osterman

2

あなたはGNU画面を開始し、ログ機能を使用することができます。topのようなncursesアプリケーションの本当に良いログを提供するものは何も知りません。

男の画面

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.

screenの出力はスクリプトと同等です-ncursesの処理はサポートされていないようです。
アンディ


1

scriptプログラムは、あなたのシェルセッションの完全なログを取ります。Dunnoは、PuTTYのものと同等です。


ありがとう、しかし私はトップを開いた状態でシェルに時間を費やすので適切ではありません。その画面は次のように記録します:[andy @ 165〜] $ top ESC [HESC [2JESC(BESC [mtop-23:34:49 up 19 days、17 :42、1ユーザー、負荷平均:0.11、0.07、0.01ESC(BESC [mESC [39; 49mESC [K
Andy

0

ここで何を達成しようとしているのか正確にはわかりません。これはトレーニングまたはフォレンジック用ですか?読みやすいログファイルを生成する何かが必要な場合は、おそらく運が悪いでしょう。セッションを再生できることを検討している場合は、ttyrecが最適です。ログインスクリプトの一部として実行してユーザーのセッションをキャプチャできますが、「トラップ」を使用して、ユーザーがttyrecを終了してシェルに戻るのを停止するようにしてください。


個人監査とプレーンテキストのロギング。セッションの再生は必要ありません。
アンディ

2
スクリプトはあなたが望むものに最も近いものですが、述べたようにncursesをうまく処理することはできません。すべてのセッションをログに記録するためにスクリプトを使用し、ncursesが作成する混乱の過去を確認しようとします。
goo

ジェフに感謝します。そのとき、私はスクリプトに悩まされているようです。
アンディ

0

入力したすべてのコマンドは、通常は家にある.bash_historyファイルに書き込まれます。HISTFILESIZE設定を介して保存される行数を設定できます。

ただし、タイムスタンプと出力はありません。

これが本当に必要な場合は、bashのラッパーを作成し、stdinとstdoutをファイルにコピーして、それを処理します。


0

http://xgu.ru/wiki/LiLaLoを使用してみることができます。 これはロシア製であるため、ドキュメントもロシア語ですが、Google翻訳が役立ちます。次に出力の例を示します。(source:xgu.ru代替テキスト


翻訳は少し不安定です。これはインタラクティブなトッププロセスのようなものを処理しますか?
dr.pooter 2009年

画像に関しては、viを処理しないので、トップは思いません。しかし、ロギングはかなり魅力的です。
TiFFolk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.