
新Linux入門|Linuxでログイン履歴を確認しユーザーアクセスを追跡する
Linuxシステムを管理していると、「誰が、いつ、どの端末からログインしたのか?」を知りたい場面がよくあります。
特にセキュリティ管理やトラブル発生時の調査では、ユーザーのログイン履歴を確認することが非常に重要です。
このようなときに役立つのが lastコマンド です。
このコマンドを使うことで、システムにログインしたすべてのユーザーの履歴を時系列に表示できます。
履歴データは /var/log/wtmp ファイルに保存されており、ログイン・ログアウト・再起動などの記録が詳細に残されています。
ここでは、last コマンドを使ってユーザーアクセスを追跡する方法を、わかりやすく解説していきます。

💡 lastコマンドの概要
last コマンドは、Linuxシステムのログイン・ログアウト履歴を表示するコマンドです。
システムログ /var/log/wtmp に記録された情報をもとに、どのユーザーがいつログインしたのかを一覧で確認できます。
| 項目 | 内容 |
|---|---|
| コマンド名 | last |
| 主な用途 | ユーザーのログイン履歴を確認する。 |
| 参照するログファイル | /var/log/wtmp |
| 管理対象 | ローカルログイン、SSHログイン、システム起動(reboot)など |
🪶 ポイント
- SSHログインやコンソールログイン(tty)など、さまざまなログイン方法が記録されます。
- ログの中には、reboot(システム再起動)やshutdownの履歴も含まれます。
⚙️ コマンド書式
last [オプション] [ユーザー名]| 引数 | 説明 |
|---|---|
| ユーザー名 | 特定ユーザーのログイン履歴を表示 |
| オプション | 出力形式を制御(件数制限、ホスト名表示制御など) |
🧾 主なオプション
| オプション | 説明 |
|---|---|
| -a | ホスト名を最後の列に表示する。 |
| -d | IPアドレスをホスト名に変換して表示する。 |
| -f <file> | 指定したファイルから履歴を読み込む。 |
| -i | IPアドレスをそのまま表示(名前解決しない) |
| -n <num> | 表示する行数を制限する。 |
| -R | ホスト名の列を非表示にする。 |
💬 補足
/var/log/wtmp はシステムによって自動でローテーションされ、古いログは /var/log/wtmp.1 や /var/log/wtmp-* として保存されます。
💻 使用例と出力結果
① 基本的な使用例
[suzuki@AlmaLinux ~]$ last
出力例
suzuki pts/0 :0 Mon Nov 25 01:47 still logged in
tanaka pts/1 192.168.1.5 Mon Nov 25 01:40 - 01:46 (00:06)
root tty1 :0 Mon Nov 25 01:30 - 01:40 (00:10)
reboot system boot 5.14.0-427.13.1. Mon Nov 25 01:25 still running🧩 出力の見方
| 項目 | 内容 |
|---|---|
| ユーザー名 | ログインしたユーザー |
| 端末名 | pts/0 や tty1 など(SSH・ローカルなど) |
| ホスト/IP | ログイン元(:0 はローカル) |
| 日付 | ログイン開始日時 |
| セッション時間 | ログアウトまでの時間、または still logged in(現在ログイン中) |
② 特定のユーザー(tanaka)の履歴を確認
[suzuki@AlmaLinux ~]$ last tanaka出力例
tanaka pts/1 192.168.1.5 Mon Nov 25 01:40 - 01:46 (00:06)
tanaka pts/1 192.168.1.5 Sun Nov 24 22:50 - 23:10 (00:20)💡 解説
特定ユーザーのみに絞って履歴を確認できます。
不正アクセスや特定ユーザーの操作時間を調べたい場合に便利です。
③ 最新の10件だけを表示
[suzuki@AlmaLinux ~]$ last -n 10出力例
suzuki pts/0 :0 Mon Nov 25 01:47 still logged in
tanaka pts/1 192.168.1.5 Mon Nov 25 01:40 - 01:46 (00:06)
watanabe pts/2 :0 Mon Nov 25 01:10 - 01:20 (00:10)
reboot system boot 5.14.0-427.13.1. Mon Nov 25 00:35 still running🧠 ポイント
履歴が長い場合でも、-n オプションで直近ログだけをすぐに確認できます。
④ rootユーザーの直近2回のログイン履歴
[suzuki@AlmaLinux ~]$ last -n 2 root出力例
root tty1 :0 Mon Nov 25 00:40 - 01:00 (00:20)
root pts/0 192.168.1.10 Sun Nov 24 22:00 - 22:30 (00:30)🔐 セキュリティ面でのチェックポイント
- 「root」がどの端末からアクセスしているかを把握できる。
- 異常なIPアドレスからの接続がないか確認できる。
📂 lastコマンドが参照するログファイル
last コマンドは内部的に以下のログを読み取って動作します。
| ファイル名 | 役割 |
|---|---|
| /var/log/wtmp | 現在のログイン履歴を保持 |
| /var/log/wtmp.1 | 過去にローテーションされた履歴 |
| /var/log/btmp | ログイン失敗の履歴(lastb コマンドで確認可能) |
💬 補足
lastb コマンドを使うと、失敗したログイン履歴(不正アクセスの兆候)を確認できます。
これはセキュリティ監査では非常に重要な情報です。
🔍 まとめ
last コマンドは、「誰がいつ、どこからログインしたか」 を把握できる強力なツールです。
システム運用やセキュリティ監査では欠かせない存在です。
特に次のような目的で役立ちます。
- ユーザー操作履歴の追跡
- 不正アクセスの検出
- システム管理の監査記録の確認
AlmaLinux 9.6 では、last コマンドは標準で使用可能です。
日常的にこのコマンドを活用し、ログイン履歴を定期的にチェックすることで、
より安全で透明性の高いシステム運用が実現できます✨
