web-dev-qa-db-ja.com

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

「history」コマンドを使用すると、Unix端末に入力したコマンドのリストが表示されます。

現在システムにログオンしているすべてのユーザーのコマンド履歴を確認するにはどうすればよいですか?

13
one

現在ログインしているユーザーのリストを/var/run/utmpで取得します(man 5 utmpを参照)。履歴は〜/ .historyに保存されるか、bashユーザーの場合は〜/ .bash_historyに保存されます。他のシェルは他の履歴ファイルを使用する場合があるため、実際にすべての情報を取得することはそれほど簡単ではありません。

さらに、ユーザーが複数回ログインした場合、.bash_historyファイルは常に信頼できるとは限りません。

utmpファイルを読み取るには、whoと呼ばれる「フロントエンド」があるため、現在ログインしているユーザーを繰り返すシェルスクリプトを作成することもできます。

11
IanH
echo $HISTFILE

次に、そのファイルを表示します。

3
Joy