連載
» 2019年03月22日 05時00分 公開

Linux基本コマンドTips(291):【 last 】コマンド――システムのログイン履歴を一覧表示する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、システムのログイン履歴を一覧表示する「last」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、システムのログイン履歴を一覧表示する「last」コマンドです。

lastコマンドとは?

 「last」はシステムのログイン履歴を一覧表示するコマンドです。「/var/log/wtmp」ファイルを参照し、新しいログインから順に表示します。



lastコマンドの書式

last [オプション] [ユーザー名] [端末番号]

※[ ]は省略可能な引数を示しています。





lastの主なオプション

短いオプション 長いオプション 意味
-n 行数, -行数 --limit 行数 lastで表示する行数を指定する
-t 日時 --until 日時 指定した日時(YYYYMMDDhhmmss)より前のログイン情報を表示する
-x --system システムのシャットダウンとランレベル変更の記録も表示する(※1)
-R --nohostname hostname欄を表示しない
-a --hostlast ホスト名を最後の欄に表示する
-d --dns リモートログイン時、ログイン元のIPアドレスをホスト名に変換して表示する
-i --ip リモートログイン時、ログイン元のIPアドレスのまま表示する
-f ファイル名 --file ファイル名 「/var/log/wtmp」ファイルの代わりに使用するファイルを指定する
-o 古い書式のwtmpファイルを読み込む(※2)

※1 Ubuntu 18.04.1 LTSではデフォルト。
※2 linux-libc5アプリケーションが作成したwtmpファイルを読み込む。Ubuntu 18.04.1 LTSでは無効。





最近ログインしたユーザーを一覧表示する

 「last」を実行すると、ログインの記録(/var/log/wtmp)に基づき、ログインの履歴を一覧表示します(画面1)。新しいログインから順に表示されるので、冒頭部分を見ることで最近ログインしたユーザーを確認できます。

 表示内容は、「ユーザー名、端末、ホスト(ローカルの場合は「:0」)、ログイン日時、-、ログアウト日時」となっています。ログアウトしていない場合は「- ログアウト日時」の代わりに「still logged in」と表示されます。

 表示件数が多いので、実行例ではheadコマンドで冒頭部分だけを表示しています。「last -n 行数」または「last -行数」でも表示する行数を指定できます。

コマンド実行例

last

(ログイン履歴を表示する。/var/log/wtmpに記録されている全件を表示する)(画面1

last -10

(最近のログイン履歴を10件分表示する)(画面1


画面1 画面1 ログイン履歴を10件分表示したところ

日時を指定して表示する

 「-t 日時」オプションで、指定した日時より前の履歴だけを対象にできます(画面2)。

 日時は「YYYYMMDDhhmmss」という形式で指定します。つまり西暦4桁、月2桁、日2桁、24時間制で時間2桁、分2桁、秒2桁です。例えば「2019年3月11日より前」であれば「-t 20190311000000」のように指定します。

コマンド実行例

last -t 20190311000000

(2019年3月11日より前のログイン履歴を表示する)

last -10 -t 20190311000000

(2019年3月11日より前のログイン履歴を10件分表示する)(画面2


画面2 画面2 指定した日時よりも以前のログイン履歴を表示したところ

端末やユーザーを指定して表示する

 「last 端末名」や「last ユーザー名」で表示対象を限定できます(画面3)。

 標準端末(tty番号)については、番号のみを指定することも可能です。

コマンド実行例

last 1

(tty1のログイン履歴を表示する。「last tty1」と同等)(画面3

last penguin

(ユーザー「penguin」のログイン履歴を表示する)(画面3


画面3 画面3 ログイン履歴の表示内容を限定したところ

ログファイルを指定して表示する

 lastコマンドは「/var/log/wtmp」ファイルを参照してログイン履歴を表示しています。

 「/var/log/wtmp」の内容は、「logrotate」の設定に従い、一定以上のサイズになった場合、あるいは一定期間ごとに、古い情報を「/var/log/wtmp.番号」に移動していることがあります。

 古いファイルを参照したい場合、「-f ファイル名」でファイルを指定します(画面4)。画面4はUbuntu環境での実行例です。

コマンド実行例

last -f ファイル名

(「/var/log/wtmp」の代わりに参照するファイルを指定する)


画面4 画面4 古いログファイルを指定したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。