lastコマンドで最近ログインしたアカウントを確認することができる。
#last admin pts/0 xx.xx.xx.xxx.in- Sun Jan 7 22:19 still logged in reboot system boot 2.6.9-42.EL Sun Jan 7 22:18 (00:17) admin pts/0 xx.xx.xx.xxx.in- Sat Jan 6 08:23 - down (00:36) root tty1 Sat Jan 6 08:20 - down (00:39) reboot system boot 2.6.9-42.EL Sat Jan 6 06:18 (02:41) admin pts/0 xx.xx.xx.xxx.in- Sat Jan 6 06:11 - down (00:04) reboot system boot 2.6.9-42.EL Sat Jan 6 06:07 (00:08) admin pts/0 xx.xx.xx.xxx. Sat Jan 6 05:55 - down (00:09) reboot system boot 2.6.9-42.ELsmp Sat Jan 6 05:54 (00:11) admin pts/2 xx.xx.xx.xxx.in- Sat Jan 6 00:34 - 02:39 (02:04)
このログは/var/log/wtmp
に残っている。これはバイナリなので中を見たいときはwhoコマンドでみる。
#who /var/log/wtmp hoge pts/2 Jan 6 00:34 (xx.xx.xx.xxx..in-addr.arpa) hoge pts/0 Jan 6 05:55 (xxx.xxx.xx.xx) hoge pts/0 Jan 6 06:11 (xx.xx.xx.xxx..in-addr.arpa) root tty1 Jan 6 08:20 hoge pts/0 Jan 6 08:23 (xx.xx.xx.xxx..in-addr.arpa) hoge pts/0 Jan 7 22:19 (xx.xx.xx.xxx..in-addr.arpa)
lastlogコマンドは各アカウントの最終ログインの一覧を見るときに便利だ。普段利用していないアカウントでログインされていると・・・。怖いですね。
#lastlog Username Port From Latest root tty1 Sat Jan 6 08:20:21 +0900 2007 bin **Never logged in** daemon **Never logged in** adm **Never logged in** hoge pts/0 xx.xx.xx.xxx.in- Sun Jan 7 22:19:41 +0900 2007 moge pts/1 xx.xx.xx.xxx.in- Sat Dec 30 02:53:05 +0900 2006 mysql **Never logged in** postgres **Never logged in** alias **Never logged in** qmaild **Never logged in** qmaill **Never logged in** qmailp **Never logged in** qmailq **Never logged in** qmailr **Never logged in** qmails **Never logged in** vpopmail **Never logged in**
whoコマンドで/var/run/utmp
も見ることができる。
これは現在システムを利用しているユーザの情報。
※ただすべてのプログラムが utmp ファイルを更新しているわけではないので、実際にはそれ以上のユーザーがシステムを使っている可能性がある。 (Manpageより)
【参考サイト】@IT 連載:不正侵入の手口と対策