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 連載:不正侵入の手口と対策