「history」コマンドを使用すると、Unix端末に入力したコマンドのリストが表示されます。
現在システムにログオンしているすべてのユーザーのコマンド履歴を確認するにはどうすればよいですか?
現在ログインしているユーザーのリストを/var/run/utmp
で取得します(man 5 utmp
を参照)。履歴は〜/ .historyに保存されるか、bashユーザーの場合は〜/ .bash_historyに保存されます。他のシェルは他の履歴ファイルを使用する場合があるため、実際にすべての情報を取得することはそれほど簡単ではありません。
さらに、ユーザーが複数回ログインした場合、.bash_historyファイルは常に信頼できるとは限りません。
utmp
ファイルを読み取るには、who
と呼ばれる「フロントエンド」があるため、現在ログインしているユーザーを繰り返すシェルスクリプトを作成することもできます。
echo $HISTFILE
次に、そのファイルを表示します。