GNU/Linux >> Linux の 問題 >  >> Linux

入力したすべてのコマンドをログに記録するにはどうすればよいですか?

誰かがシェルに入力したすべてのコマンドをログに記録するにはどうすればよいですか?

私は、あなたが他の誰かのサーバーにログインして何かが壊れた場合、または他の誰かがあなたのサーバーに(意図的または悪意を持って)ログインした場合に、自分自身を保護することに基づいて質問しています。

初心者でも、unset historyで履歴をバイパスできます または、新しいシェルを作成してトラックを非表示にします。

上級Linux管理者が、システムに入力されたコマンドや変更がどのように行われたかを追跡する方法に興味があります。

承認された回答:

auditdをチェックしてください。追加した場合

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

/etc/audit/audit.rulesへ 実行されたすべてのコマンドがログに記録されます。参照:http://whmcr.com/2011/10/14/auditd-logging-all-commands/

次に、それをsyslogサーバーに送信します。


Linux
  1. コマンドラインからPostgresqlデータベースにログインする方法

  2. コマンドライン引数をシェルスクリプトに渡す方法は?

  3. Linux –パピーリナックスラコをコマンドラインで起動する方法は?

  1. Lxcコンテナにログインする方法は?

  2. Linuxコマンド出力をファイルに出力するには?

  3. パイピングされている実際のコマンドをどのように判断しますか?

  1. X秒ごとにLinuxコマンドを実行または繰り返す方法

  2. 特定のコマンドをだまして、別の日付だと思わせるにはどうすればよいですか?

  3. Bashに入力されたすべてのコマンドとすべてのファイル操作をログに記録する方法は?