誰かがシェルに入力したすべてのコマンドをログに記録するにはどうすればよいですか?
私は、あなたが他の誰かのサーバーにログインして何かが壊れた場合、または他の誰かがあなたのサーバーに(意図的または悪意を持って)ログインした場合に、自分自身を保護することに基づいて質問しています。
初心者でも、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サーバーに送信します。