Linux便利コマンド : last

うめだ
2024-10-21
2024-10-21
目次

はじめに

みなさま、lastコマンドを活用されてますでしょうか。

サーバー監視で負荷上昇等アラートを検知した際、誰かログインして作業していないかを調べるため利用しています。

ユーザーがログイン、ログアウトした時刻を確認することができます。

そんなlastコマンドの使い方を紹介します。

環境

OS : AlmaLinux 8
lastバージョン : 2.32.1

使い方

早速、last コマンドを実行してみます。

$ last | head
test   pts/0        192.0.2.114  Sun Oct 20 11:49   still logged in
test   pts/0        192.0.2.114  Fri Oct 18 10:38 - 11:34 (1+00:56)
test   pts/0        192.0.2.114  Tue Oct 15 11:39 - 11:40  (00:01)
test   pts/1        test.example Thu Oct 10 17:56 - 21:10  (03:13)
test   pts/0        192.0.2.114  Thu Oct 10 17:56 - 21:10  (03:14)
test   pts/0        192.0.2.114  Sun Oct  6 09:22 - 09:44  (00:22)
test   pts/0        192.0.2.114  Thu Sep 26 16:31 - 17:33  (01:02)
test   pts/1        192.0.2.114  Tue Sep 24 19:53 - 22:19  (02:26)
test   pts/0        192.0.2.114  Tue Sep 24 17:42 - 19:57  (02:15)
test   pts/0        192.0.2.114  Mon Sep 23 17:28 - 18:26  (00:58)
$

動作検証用のテストサーバーなので、ユーザー:testばかりですが、対象サーバーにログインしたユーザーの履歴が表示されます。

-i オプションを指定すると、ログイン元ホストをIPアドレスで表示することができます。

$ last -i | head
test   pts/0        192.0.2.114  Sun Oct 20 11:49   still logged in
test   pts/0        192.0.2.114  Fri Oct 18 10:38 - 11:34 (1+00:56)
test   pts/0        192.0.2.114  Tue Oct 15 11:39 - 11:40  (00:01)
test   pts/1        192.0.2.129  Thu Oct 10 17:56 - 21:10  (03:13)
test   pts/0        192.0.2.114  Thu Oct 10 17:56 - 21:10  (03:14)
test   pts/0        192.0.2.114  Sun Oct  6 09:22 - 09:44  (00:22)
test   pts/0        192.0.2.114  Thu Sep 26 16:31 - 17:33  (01:02)
test   pts/1        192.0.2.114  Tue Sep 24 19:53 - 22:19  (02:26)
test   pts/0        192.0.2.114  Tue Sep 24 17:42 - 19:57  (02:15)
test   pts/0        192.0.2.114  Mon Sep 23 17:28 - 18:26  (00:58)
$

ホスト名:test.example.com で表示されていたものが、IPアドレスでの表示になります。

test   pts/1        test.example.com Thu Oct 10 17:56 - 21:10  (03:13)
test   pts/1        192.0.2.129  Thu Oct 10 17:56 - 21:10  (03:13)

-F オプションを指定すると、ログインおよびログアウトの日時を表示することができます。

$ last -F | head
test   pts/0        192.0.2.114  Sun Oct 20 11:49:52 2024   still logged in
test   pts/0        192.0.2.114  Fri Oct 18 10:38:00 2024 - Sat Oct 19 11:34:10 2024 (1+00:56)
test   pts/0        192.0.2.114  Tue Oct 15 11:39:42 2024 - Tue Oct 15 11:40:47 2024  (00:01)
test   pts/1        test.example Thu Oct 10 17:56:31 2024 - Thu Oct 10 21:10:09 2024  (03:13)
test   pts/0        192.0.2.114  Thu Oct 10 17:56:06 2024 - Thu Oct 10 21:10:08 2024  (03:14)
test   pts/0        192.0.2.114  Sun Oct  6 09:22:06 2024 - Sun Oct  6 09:44:45 2024  (00:22)
test   pts/0        192.0.2.114  Thu Sep 26 16:31:02 2024 - Thu Sep 26 17:33:42 2024  (01:02)
test   pts/1        192.0.2.114  Tue Sep 24 19:53:04 2024 - Tue Sep 24 22:19:46 2024  (02:26)
test   pts/0        192.0.2.114  Tue Sep 24 17:42:01 2024 - Tue Sep 24 19:57:46 2024  (02:15)
test   pts/0        192.0.2.114  Mon Sep 23 17:28:45 2024 - Mon Sep 23 18:26:54 2024  (00:58)
$

日をまたいでログアウトした場合、ログアウトした日付が表示されましせんが、-Fを指定することで表示することができます。

test   pts/0        192.0.2.114  Fri Oct 18 10:38 - 11:34 (1+00:56)
test   pts/0        192.0.2.114  Fri Oct 18 10:38:00 2024 - Sat Oct 19 11:34:10 2024 (1+00:56)

最後に、-x オプションの紹介です。シャットダウンやランレベルが変わった時間を表示することができます。

$ last -x

test   pts/0          192.0.2.114  Mon Apr 17 11:49 - 11:49  (00:00)
runlevel (to lvl 3)   4.18.0-425.1 Mon Apr 17 09:52   still running
reboot   system boot  4.18.0-425.1 Mon Apr 17 09:29   still running
shutdown system down  4.18.0-348.7 Mon Apr 17 09:25 - 09:29  (00:04)
test   pts/0          192.0.2.114  Mon Apr 17 09:20 - 09:22  (00:02)

$

OSの再起動は、オプションを指定しないと、rebootのみ表示されますが、-xを指定することで、
前後のshutdownとrunlevelも表示することができます。便利ですね。

まとめ

いかがでしたか?

ユーザーのログイン履歴と、OS再起動についても実行日時を確認することができます。

サーバーの運用管理に是非とも活用ください。