BASHシェルセッションをホストマシン上のファイルに記録する最良の方法は何ですか?
推奨される出力形式は、入力を含み、ncurses制御文字データを排他的にユーザーが表示する場合、PuTTYの「印刷可能な出力」ログ設定と同等です。
gnu screen を開始して、ログ機能を使用できます。 ncurses topのようなアプリケーションの本当に良いログを提供するものは何も知りません。
男 画面
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.
TTYrecはおそらく最も簡単な解決策です。オリジナルを使用できます:
http://0xcc.net/ttyrec/index.html.en
またはあなた自身を転がしてください:
http://en.wikipedia.org/wiki/Ttyrec
または、すべての古い学校を取得することができます| command.timestamp.teeをティーするためのすべてのコマンド
script
プログラムは、シェルセッションの完全なログを取得します。 PuTTYのものと同等かどうかはわかりません。
入力されたすべてのコマンドは、通常は自宅の.bash_historyファイルに書き込まれます。 HISTFILESIZE設定で保存される行数を設定できます。
ただし、タイムスタンプと出力はありません。
これが本当に必要な場合は、bashのラッパーを作成し、stdinとstdoutをファイルにコピーして処理します。
http://xgu.ru/wiki/LiLaLo ロシア語で作成されているため、ドキュメントもロシア語ですが、Google翻訳が役に立ちます。出力の例を次に示します。
(出典: xgu.r )
ここで何を達成しようとしているのか正確にはわかりません。これはトレーニング用ですか、それともフォレンジック用ですか?読みやすいログファイルを生成するものが必要な場合は、おそらく運が悪いでしょう。セッションを再生できるようにすることを検討している場合は、ttyrecが必要です。ログインスクリプトの一部として実行してユーザーのセッションをキャプチャできますが、ユーザーがttyrecを終了してシェルに戻るのを防ぐには、必ず「trap」を使用してください。