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


30

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

私は自分のマシンの管理者です。表示することで通常の履歴を見ること/home/user_name/.bash_historyができますが、user_name彼らがやっていたときにそのコマンドを見ることはできませんsudo

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


1
パスワードを盗む:)またはソーシャルエンジニアリングによって..あなたがルートでない場合、他のユーザーのホーム/ファイルを取得/読み取りできないようにアカウントが設定されている場合は、かなり制限されています。
リングベアラー

8
「私は自分のマシンの管理者です。」

回答:


23

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

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


これがcentosシステム上でどうなるか、手がかりはありますか?私のCentos 7マシンにはない/var/log/auth.log
ミッチ

3
/var/log/secure代わりに試してください。
ケリン

完全に動作します!回答に編集リクエストを入力してください
ミッチ

4

以下をテストしただけで、それは魅力のように機能しました。

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history

1
彼女はすでにこのコマンドを知っています。元の質問から:「/home/user_name/.bash_historyを表示すると通常の履歴を見ることができますが、sudoを実行しているときにその「user_name」のコマンドを見ることができません。」
マイケルトンプソン

2

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

ユーザーがと殻を生み出している場合など、sudo -ssudo susudo sh、など、そのコマンドがあり、であるrootユーザの履歴に表示さ/root/.bash_historyまたは類似。


1
システムログはどこにありますか?
ギャレット

1

# zless /var/log/auth*あなたの友達です。gzip圧縮されたファイルも開きます。:n前後にジャンプでき:pます。

あるいは、# journalctl -f -l SYSLOG_FACILITY=10たとえば、使用することができます。これについてはArch Linux wikiをご覧ください


1

以下のコマンドを使用

sysdig -c spy_users

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


0

たぶん、このリンクはあなたに価値がある:http : //www.sudo.ws/pipermail/sudo-users/2000-March/000052.html

ただし、bash_historyにトレースを残さないことは、スペースetcppを使用してコマンドを開始するだけのことです。履歴はヘルパーであり、ロギングツールではありません。

ドイツからの挨拶、ダニエル・レシュコウスキ


-1

ロジックは他の多くの目的に適用されます。
また、/ home /ファイルシステムから各ユーザーの.sh_historyを読み取る方法は?それらが何千もある場合はどうなりますか?

#!/bin/ksh
last |head -10|awk '{print $1}'|
 while IFS= read -r line
 do
su - "$line" -c 'tail .sh_history'
 done

ここではスクリプトです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.