web-dev-qa-db-ja.com

Linuxで他のユーザーのコマンド履歴を表示する方法

他のユーザーのコマンド履歴を表示するにはどうすればいいですか?

私は自分のマシンの管理者です。通常の履歴は/home/user_name/.bash_historyを見ることで見ることができますが、それらがSudoを実行していたとき、そのuser_nameのコマンドを見ることはできません。

1人のユーザーによって実行されたすべてのコマンドを表示する方法はありますか?

27
Sean Nguyen

Debianベースのオペレーティングシステムでは、tail /var/log/auth.log | grep usernameを実行すると、ユーザーのSudo履歴が得られます。ユーザーの通常の+ Sudoコマンドの統一されたコマンド履歴を取得する方法はないと思います。

RHELベースのオペレーティングシステムでは、/var/log/secureの代わりに/var/log/auth.logを確認する必要があります。

23
Kerin

以下を試しただけで、それは魅力のように働いた。

Sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
3
Tyson

ユーザがSudo somecommandのようにコマンドを発行した場合、そのコマンドはシステムログに表示されます。

ユーザーがシェルをSudo -sSudo suSudo shなどで起動した場合、コマンドがルートユーザーの履歴に表示されることがあります。 、/root/.bash_historyなどで。

1
bdonlan

# zless /var/log/auth*はあなたの友達です。それはgzipされたファイルさえも開きます。 :n forwardsまたは:p backwardsを使ってそれらの間をジャンプできます。

代わりに、例えば# journalctl -f -l SYSLOG_FACILITY=10を使うことができます。これについての詳細は Arch Linux Wiki で読んでください。

0
AdamKalisz

以下のコマンドを使用

sysdig -c spy_users

sysdigがインストールされていない場合、インストールする ここ

0
sachin_ur

多分このリンクはあなたに価値があります。 http://www.Sudo.ws/pipermail/Sudo-users/2000-March/000052.html

しかし、bash_historyに痕跡を残さないことは、スペースetcppでコマンドを開始するだけの問題であることに注意してください。履歴は、ロギングツールではなくヘルパーです。

ドイツからのご挨拶、Daniel Leschkowski

0
dles