他のユーザーのコマンド履歴を表示するにはどうすればいいですか?
私は自分のマシンの管理者です。通常の履歴は/home/user_name/.bash_history
を見ることで見ることができますが、それらがSudo
を実行していたとき、そのuser_name
のコマンドを見ることはできません。
1人のユーザーによって実行されたすべてのコマンドを表示する方法はありますか?
Debianベースのオペレーティングシステムでは、tail /var/log/auth.log | grep username
を実行すると、ユーザーのSudo
履歴が得られます。ユーザーの通常の+ Sudoコマンドの統一されたコマンド履歴を取得する方法はないと思います。
RHELベースのオペレーティングシステムでは、/var/log/secure
の代わりに/var/log/auth.log
を確認する必要があります。
以下を試しただけで、それは魅力のように働いた。
Sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
ユーザがSudo somecommand
のようにコマンドを発行した場合、そのコマンドはシステムログに表示されます。
ユーザーがシェルをSudo -s
、Sudo su
、Sudo sh
などで起動した場合、コマンドがルートユーザーの履歴に表示されることがあります。 、/root/.bash_history
などで。
# zless /var/log/auth*
はあなたの友達です。それはgzipされたファイルさえも開きます。 :n
forwardsまたは:p
backwardsを使ってそれらの間をジャンプできます。
代わりに、例えば# journalctl -f -l SYSLOG_FACILITY=10
を使うことができます。これについての詳細は Arch Linux Wiki で読んでください。
多分このリンクはあなたに価値があります。 http://www.Sudo.ws/pipermail/Sudo-users/2000-March/000052.html
しかし、bash_historyに痕跡を残さないことは、スペースetcppでコマンドを開始するだけの問題であることに注意してください。履歴は、ロギングツールではなくヘルパーです。
ドイツからのご挨拶、Daniel Leschkowski