サーバ管理をする時に、みんなが同じアカウントでログインして root で作業している。そのような管理をしていると、誰がいつ作業の為にログインして作業を完了しているのか分かりませんし、情報が漏洩した時の漏洩元の追跡が行なえません。Linux にはログイン履歴を/var/log/wtmp に保存しています。ログはバイナリなので、エディタで開いても何も分かりません。よってそれを参照する方法を知らなければその情報は宝の持ち腐れです。 調べる方法は複数ありますが、いくつかのコマンドを交えて紹介したいと思います。
pinky コマンドは、現在ログインしているユーザの一覧を表示してくれるコマンドです。ログインした時間、ログインしているが何も作業をしていない待機時間、端末の目の前で作業をしているのか、リモートから作業しているのかが一目瞭然で分かります。
$ pinky
ログイン 名前 端末 待機 開始時刻 ログイン元
taro taro ?:0 1d 2019-09-04 05:30 :0 <- :0 は、端末のモニターにて作業
taro taro tty7 00:30 2019-09-07 05:30 :0
jiro jiro pts/2 2019-09-05 07:11 192.168.0.3
jiro jiro pts/3 00:08 2019-09-07 09:23 192.168.0.4
last コマンドはログイン履歴を確認するコマンドで、誰が何時にログインしてログアウトしたのか、作業した時間、接続元、マシンを停止した時間を知る事が出来ます。
$ last
taro pts/31 192.168.0.2 Sat Sep 7 09:16 still logged in
jiro pts/30 192.168.0.3 Sat Sep 7 09:13 still logged in
taro tty7 :0 Thu Sep 5 15:24 gone - no logout
reboot system boot 4.4.0-161-generi Thu Sep 5 15:22 still running
taro pts/34 192.168.0.2 Tue Sep 3 08:30 - 22:09 (13:38)
jiro pts/33 192.168.0.3 Tue Sep 3 08:05 - 08:16 (00:11)