Linuxでログイン履歴を確認する「last」コマンドの使い方徹底解説|ユーザー管理・セキュリティ確認に便利!

Linuxのサーバー運用やシステム管理をしていると、「誰がいつログインしたのか」「不正アクセスの形跡がないか」といったログイン履歴の確認がとても重要になります。
そんなときに役立つのが「last」コマンドです。
このコマンドを使えば、ユーザーのログインやログアウトの履歴、接続元IPアドレスなどを簡単に確認することができます。
この記事では、lastコマンドの基本的な使い方から、オプションの活用法、注意点までをわかりやすく解説します。
はじめてlastを使う方も、より深く理解したい方も、ぜひ参考にしてください。


lastコマンドとは?

last コマンドは、LinuxやUNIX系OSで利用できるログイン履歴表示のためのコマンドです。
このコマンドを実行すると、過去にログインしたユーザーの情報が一覧で表示されます。
表示される内容には、以下のような情報が含まれます。

  • ユーザー名
  • ターミナル名
  • 接続元(IPアドレスやホスト名)
  • ログイン時刻
  • ログアウト時刻
  • セッションの継続時間

この情報は、/var/log/wtmp というバイナリファイルを読み取って表示されます。


基本的な使い方

もっともシンプルな使い方は以下の通りです。

last

このコマンドを実行すると、最新のログイン情報から順に一覧が表示されます。
例として、以下のような出力が得られます。

user01   pts/0        192.168.1.5     Mon Apr  1 09:25   still logged in
user02 pts/1 192.168.1.10 Sun Mar 31 18:40 - 19:15 (00:35)
reboot system boot 5.4.0-91-generic Sun Mar 31 17:00 still running

出力の意味

項目説明
user01ログインしたユーザー名
pts/0ログインした端末(仮想端末)
192.168.1.5接続元のIPアドレス
Apr 1 09:25ログインした日時
still logged in現在もログイン中
(00:35)ログインセッションの継続時間

特定のユーザーの履歴を調べる

特定のユーザーだけのログイン履歴を調べたい場合は、以下のように指定します。

last user01

このようにユーザー名を指定すると、そのユーザーに関する履歴だけが表示されます。


ログイン回数を制限して表示する

大量のログイン履歴があると、すべて表示すると見づらくなってしまいます。
そこで、表示する件数を制限することができます。

last -n 5

この例では、最新の5件のログイン履歴だけが表示されます。
同様に -n 10-n 20 など、必要に応じて数を変えることができます。


特定の期間のログイン履歴を確認する

日付を指定してログイン履歴を確認したい場合は、last コマンド単体では日付フィルターの指定は難しいですが、last | grep を使うことで絞り込むことができます。

last | grep "Apr  1"

このようにすれば、4月1日にログインした履歴のみを表示できます。
ログの精査や監査にも便利です。


再起動やシャットダウンの履歴を見る

last コマンドでは、「reboot」や「shutdown」などのシステムに関する履歴も表示されます。
これらを明示的に確認したい場合は次のようにします。

last reboot

または

last shutdown

これにより、いつシステムが再起動されたのか、いつシャットダウンされたのかを確認できます。


バイナリファイルを直接指定する

デフォルトでは /var/log/wtmp を読み取っていますが、古い履歴を確認したい場合は、ローテートされたログを指定することも可能です。

last -f /var/log/wtmp.1

wtmp.1 は過去のログイン履歴が保存されたファイルです。ログローテーションの設定によってファイル名は異なることがあります。


「lastb」コマンドとの違い

lastb コマンドは、ログインに失敗した履歴を表示するためのコマンドです。
例えば、不正ログインの試みがあった場合などに確認することができます。

lastb

これは /var/log/btmp という別のファイルを参照しています。
セキュリティ上の監査を行う際には lastlastb の両方を確認すると効果的です。


注意点とよくあるトラブル

ログが見られない・表示されない

  • /var/log/wtmp ファイルが存在しない場合、表示されません。
  • ログローテートによって過去のログが移動している場合があります。

ログファイルの存在を確認しましょう。

ls -l /var/log/wtmp*

root権限が必要な場合も

ログファイルにアクセスできない場合は、root権限で実行する必要があります。

sudo last

セキュリティ対策に活用するポイント

  • 不審なIPからのアクセスがないか確認する
  • 未使用ユーザーのアクティビティがないかチェックする
  • ログインの時間帯が通常と異なっていないかを見極める

こうした確認を定期的に行うことで、セキュリティリスクを未然に防ぐことができます。


まとめ

last コマンドは、Linuxにおけるユーザー管理やセキュリティ確認において非常に重要なツールです。
シンプルな構文でありながら、ユーザーのログイン情報、再起動履歴、ログアウトの時間まで確認できるので、日々の運用管理に欠かせません。

ログの記録はシステムの健全性を示す鏡ともいえる存在です。
定期的にlastコマンドを実行し、異常がないかをチェックする習慣を身につけておくことが、堅牢なシステム運用につながるでしょう。

タイトルとURLをコピーしました