ドルヲタ系インフラエンジニア じーふーの備忘録

クラウドをメインに扱うインフラエンジニアが書くメモやら雑感、たまにドルヲタ的活動記録残します。最近の推しはAzureのData Factory(V2)です。

【linux】 各ユーザーのログイン履歴確認コマンド(last, lastlog)

各ユーザーのログイン履歴や、最終ログイン日時を確認することができるコマンドがあることを知りましたのでメモメモ。

管理サーバの不正ログインを検知するのに使えそうですね。

最近ログインしたユーザー履歴確認

# last

実行結果

[root@db-1 scripts]# last
root     pts/0        192.168.2.12     Wed Jun 10 07:59   still logged in
oracle   pts/3        :0.0             Tue Jun  9 22:11 - 22:29  (00:17)
oracle   pts/0        :0.0             Tue Jun  9 21:57 - 22:29  (00:31)
oracle   tty1         :0               Tue Jun  9 21:57   still logged in
root     pts/2        192.168.2.12     Tue Jun  9 21:51 - 22:29  (00:38)
root     pts/1        192.168.2.12     Tue Jun  9 21:49 - 22:29  (00:39)
root     pts/1        192.168.2.12     Tue Jun  9 17:15 - 20:32  (03:16)
root     pts/0        :0.0             Tue Jun  9 12:43 - 21:56  (09:12)
root     tty1         :0               Tue Jun  9 12:42 - 21:56  (09:13)
reboot   system boot  2.6.32-504.el6.x Tue Jun  9 12:41 - 08:36  (19:54)
root     pts/0        :0.0             Tue Jun  9 12:23 - down   (00:18)
root     tty1         :0               Tue Jun  9 12:22 - down   (00:18)
reboot   system boot  2.6.32-504.el6.x Tue Jun  9 12:22 - 12:41  (00:19)
root     pts/0        :0.0             Tue Jun  9 12:20 - down   (00:01)
root     tty1         :0               Tue Jun  9 12:20 - down   (00:01)
reboot   system boot  2.6.32-504.el6.x Tue Jun  9 12:18 - 12:21  (00:03)
root     pts/0        :0.0             Tue Jun  9 11:41 - down   (00:36)
root     tty1         :0               Tue Jun  9 11:41 - down   (00:37)
reboot   system boot  2.6.32-504.el6.x Tue Jun  9 11:40 - 12:18  (00:38)
reboot   system boot  2.6.32-504.el6.x Tue Jun  9 11:38 - 11:39  (00:01)

wtmp begins Tue Jun  9 11:38:42 2015

各ユーザーの最終ログイン日時確認

# lastlog

実行結果

[root@db-1 scripts]# lastlog
ユーザ名         ポート   場所             最近のログイン
root             pts/0    192.168.xx.xx    水  6月 10 07:59:27 +0900 2015
bin                                        **一度もログインしていません**
daemon                                     **一度もログインしていません**
adm                                        **一度もログインしていません**
lp                                         **一度もログインしていません**
sync                                       **一度もログインしていません**
shutdown                                   **一度もログインしていません**
halt                                       **一度もログインしていません**
mail                                       **一度もログインしていません**
uucp                                       **一度もログインしていません**
operator                                   **一度もログインしていません**
games                                      **一度もログインしていません**
gopher                                     **一度もログインしていません**
ftp                                        **一度もログインしていません**
nobody                                     **一度もログインしていません**
dbus                                       **一度もログインしていません**
vcsa                                       **一度もログインしていません**
rpc                                        **一度もログインしていません**
rtkit                                      **一度もログインしていません**
avahi-autoipd                              **一度もログインしていません**
abrt                                       **一度もログインしていません**
rpcuser                                    **一度もログインしていません**
nfsnobody                                  **一度もログインしていません**
haldaemon                                  **一度もログインしていません**
gdm                                        **一度もログインしていません**
ntp                                        **一度もログインしていません**
saslauth                                   **一度もログインしていません**
postfix                                    **一度もログインしていません**
pulse                                      **一度もログインしていません**
sshd                                       **一度もログインしていません**
oprofile                                   **一度もログインしていません**
tcpdump                                    **一度もログインしていません**
oracle                                     **一度もログインしていません**

補足

マニュアルによると、lastコマンドは/var/log/wtmplastlogコマンドは/var/log/lastlogというバイナリファイルの内容を整形して表示させているようです。

また、wtmpはどのくらいの期間のログイン履歴を保持しているかというと、デフォルトでログローテーションするよう設定されているため、通常1ヶ月の履歴を保持しているようです。

[root@db-1 scripts]# cat /etc/logrotate.conf
# see "man logrotate" for details

~~ 中略 ~~~

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}


~~ 中略 ~~~

# system-specific logs may be also be configured here.