Linuxにおける「lastlog
」とは、システム上の各ユーザーアカウントについて、最後に成功したログインの記録を表示するためのコマンドおよびログファイルです。この情報はセキュリティ監視やシステム運用に役立ちます。
特徴
-
ログの保存場所
lastlog
の情報は、通常/var/log/lastlog
ファイルに保存されます。このファイルはバイナリ形式で記録されており、直接読むことはできません。 -
表示内容
各ユーザーアカウントについて以下の情報を表示します。- ユーザー名
- UID(ユーザーID)
- 最後にログインした日時
- 最後にログインした端末や接続元(TTY または IP アドレス)
-
空白の表示
ログイン履歴がないユーザーについては、「Never logged in」と表示されます。
使用例
基本的な使用
lastlog
出力例
Username Port From Latest root tty1 192.168.1.100 Wed Nov 15 10:22:45 +0000 2023 user1 pts/0 203.0.113.5 Tue Nov 14 08:15:30 +0000 2023 user2 tty2 Never logged in
オプション
-
特定のユーザーのログイン履歴を確認
lastlog -u [ユーザー名のUID]
-
UID
はユーザーに対応するID(通常/etc/passwd
に記載されています)。 - 例:
lastlog -u 1001
-
-
特定の範囲のUIDに限定
lastlog -t [日数]
- 指定した日数以内にログインしたユーザーを表示。
- 例:
(最後のログインが30日以内のユーザーのみ表示)
lastlog -t 30
ログファイルの管理
-
サイズが大きくなる場合
多くのユーザーが存在するシステムでは、/var/log/lastlog
ファイルが非常に大きくなる可能性があります。ファイルをクリアすることでサイズを減らすことができますが、情報が失われるため注意が必要です。> /var/log/lastlog
-
ファイルの再生成
必要であれば、lastlog
ファイルは削除しても再生成されます。ただし、すべての履歴がリセットされます。rm /var/log/lastlog touch /var/log/lastlog
セキュリティ上の利用例
-
ログイン試行の監視
未使用アカウントのセキュリティリスクをチェックするために利用できます。- ログインしたことがないユーザーや、最後のログインが長期間前のユーザーをリストアップし、不要なアカウントを無効化または削除する。
-
異常検出
特定の時期に不正アクセスが疑われる場合に、ログイン履歴を確認することで、不正に使用されたアカウントを特定できます。
注意点
-
lastlog
の出力はシステムの全ユーザーについて表示されるため、ユーザー数が多い場合は大量の情報が表示されます。必要に応じてgrep
などを併用してください。 -
/var/log/lastlog
ファイルが壊れている場合、出力結果が不正確になることがあります。この場合はファイルを削除して再生成してください。
これにより、lastlog
はシステム上のユーザー活動を追跡し、管理する上で重要なツールとなります。