入力されたすべてのコマンドを記録する方法

入力されたすべてのコマンドを記録する方法

誰かがシェルに入力したすべてのコマンドをどのように記録しますか?

あなたが他の人のサーバーにログインしたときに問題が発生した場合、または他の人が(意図的または悪意のある場合でも)あなたのサーバーにログインしている場合は、自分自身を保護するためにこのコンテンツを要求してください。

初心者でもできます。バイパス履歴あるいは、新しいシェルを作成してunset historyトレイルを隠すこともできます。

Linuxシニアマネージャがシステムに入力されたコマンドや変更をどのように追跡するのか疑問に思います。

答え1

確認する審査。追加すると

-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve

実行されたすべての/etc/audit/audit.rulesコマンドが記録されます。望むより:https://whmcr.com/2011/10/14/auditd-logging-all-commands/

その後、syslogサーバーに送信されます。

答え2

あなたはそれを使用することができますスクリプト注文する。このコマンドはPOSIXには含まれていませんが、すべてのキー入力と出力、およびエラーメッセージをファイルに保存すると便利です。後でファイルを見ることができます。重要なタスクを実行していて、すべてのアクティビティのログを保持するには、ログイン後すぐにこのコマンドを呼び出す必要があります。

$スクリプト
スクリプトが起動し、ファイルがTypeScriptです。
$_ これは別のシェルです - ログインシェルの子です。

プロンプトが返され、ここで入力したすべてのキーストローク(バックスペースキーストロークを含む)が「typescript」ファイルに書き込まれます。録音が完了したら、次のように入力してセッションを終了できます。出口
注:次のように入力するとスクリプトファイル名、セッションはファイルに保存されますファイル名代わりにタイプスクリプトつまり、特定のファイル名が指定されていない場合、デフォルトはtypescriptです。

これで、次のものを使用できます。猫ファイル名または猫タイプスクリプト、どちらの場合も記録されたセッションを確認してください。

新しいセッションを古いファイルに追加するには、次を使用します。 スクリプト-a TypeScriptに新しいセッションを関連付けます。ここでも同じ基本ルールが適用されます。

これはシステム管理者がセッションを追跡する方法です。有益で役に立つことを願っています。乾杯!

関連情報