last:/var/log/wtmp からログイン・ログアウトの履歴を表示するlastb:/var/log/btmp からログイン失敗の履歴を表示する(root権限が必要)utmpdump:バイナリ形式の utmp / wtmp / btmp をテキストに変換するlast # 全履歴
last ecos # 特定ユーザーのみ
last -n 10 # 直近10件
last reboot # 再起動履歴
last -x # シャットダウンやランレベル変更も含める
last -F # ログイン・ログアウト時刻を年や秒まで表示
last -i # ホスト名ではなくIPアドレスで表示
last -s yesterday -t today # 期間を指定(since / until)
last -f /var/log/wtmp.1 # ローテート済みなど別ファイルを読む
utmp、wtmp、btmp はバイナリ形式のため、cat で中身を読めません。utmpdump はこれらをテキストに変換して表示するコマンドです。
utmpdump /var/log/wtmp # テキストで表示
utmpdump /var/run/utmp # 現在のログイン状態
sudo utmpdump /var/log/btmp # ログイン失敗の記録
utmpdump /var/log/wtmp > wtmp.txt # テキストに保存
utmpdump -r < wtmp.txt > wtmp.new # テキストをバイナリに戻す
last では表示されない生のレコード(PID、レコード種別、端末IDなど)を確認できます。このため、壊れた wtmp の調査やフォレンジックに使われます。-r を使うとテキストで編集した内容を書き戻せますが、ログの改ざんにも使える機能なので扱いには注意が必要です。
wtmp には 2038年問題があるため、一部の新しいディストリビューションは wtmpdb という SQLite ベースの仕組みに移行しつつあります。