有关用户登录的信息记录在 utmp(/var/run/utmp)、wtmp(/var/log/wtmp)、btmp(/var/log/btmp) 和 lastlog(/var/log/lastlog) 等文件中。
who、w 和 users 等命令通过 utmp(/var/run/utmp) 文件查询当前登录用户的信息。last 和 ac 命令通过 wtmp(/var/log/wtmp) 文件查询当前与过去登录系统的用户的信息。lastb 命令通过 btmp(/var/log/btmp) 文件查询所有登录系统失败的用户的信息。lastlog 命令通过 lastlog(/var/log/lastlog) 文件查询用户最后一次登录的信息。
who 命令:显示当前当登录的用户的信息
$ who
huey pts/1 2015-05-11 18:29 (192.168.1.105)
sugar pts/2 2015-05-11 18:29 (192.168.1.105)
w 命令:显示登录的用户及其当前执行的任务
$ w
18:30:51 up 3 min, 2 users, load average: 0.10, 0.14, 0.06
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
huey pts/1 192.168.1.105 18:29 3.00s 0.52s 0.00s w
sugar pts/2 192.168.1.105 18:29 1:07 0.47s 0.47s -bash
users 命令:显示当前当登录的用户的用户名
$ users
huey sugar
last 命令:显示当前与过去登录系统的用户的信息
$ last
root pts/3 192.168.1.105 Mon May 11 18:33 - 18:33 (00:00)
sugar pts/2 192.168.1.105 Mon May 11 18:32 still logged in
sugar pts/2 192.168.1.105 Mon May 11 18:29 - 18:32 (00:02)
huey pts/1 192.168.1.105 Mon May 11 18:29 still logged in
reboot system boot 3.5.0-43-generic Mon May 11 18:27 - 18:33 (00:05)
huey pts/1 192.168.1.105 Sat May 9 10:57 - 17:31 (06:33)
lastb 命令:显示所有登录系统失败的用户的信息
$ sudo lastb
btmp begins Sat May 9 09:48:59 2015
lastlog 命令:显示用户最后一次登录的信息
$ lastlog
用户名 端口 来自 最后登陆时间
root pts/3 192.168.1.105 一 5月 11 18:36:43 +0800 2015
daemon **从未登录过**
bin **从未登录过**
sys **从未登录过**
......
hplip **从未登录过**
saned **从未登录过**
huey pts/1 192.168.1.105 一 5月 11 18:29:40 +0800 2015
guest-mIZNkv **从未登录过**
guest-bCf1SI **从未登录过**
sugar pts/2 192.168.1.105 一 5月 11 18:32:28 +0800 2015
mysql **从未登录过**
sshd **从未登录过**
ac 命令:显示用户连接时间的统计数据a) 显示每天的总的连接时间
$ ac -d
May 9 total 6.55
Today total 0.54
b) 显示每个用户的总的连接时间
$ ac -p
huey 6.78
sugar 0.23
root 0.12
total 7.13