Linux查看用户登录记录的命令:
who
who命令查询utmp文件,并报告当前登录的每个用户。
Who的缺省输出包括用户名、终端类型、登录日期及远程主机。例如:who(回车)显示
# who root pts/0 2022-05-24 11:43 (192.168.1.164) root pts/1 2022-05-24 11:43 (192.168.1.164)
wtmp
如果指明了wtmp文件名,则who命令查询以前所有的登陆纪录。使用命令who /var/log/wtmp查看所有登陆记录,结果如下:
# who /var/log/wtmp
root pts/2 2023-04-02 16:08 (27.38.230.201) root pts/3 2023-04-02 16:08 (27.38.230.201) root pts/0 2023-04-02 19:20 (27.38.230.201) root pts/1 2023-04-02 19:20 (27.38.230.201) root pts/0 2023-04-02 22:56 (117.139.216.215) root pts/1 2023-04-02 23:30 (117.139.216.215) root pts/2 2023-04-02 23:31 (117.139.216.215)
last 列出当前和曾经登入系统的用户信息
它默认读取的是/var/log/wtmp文件的信息。输出的内容包括:用户名、终端位置、登录源信息、开始时间、结束时间、持续时间。注意最后一行输出的是wtmp文件起始记录的时间。当然也可以通过last -f参数指定读取文件,可以是/var/log/btmp、/var/run/utmp
last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。例如:
# last root pts/1 192.168.1.164 Tue May 24 11:43 still logged in root pts/0 192.168.1.164 Tue May 24 11:43 still logged in root pts/1 192.168.1.164 Tue May 24 11:37 - 11:43 (00:05) root pts/1 192.168.1.164 Tue May 24 11:36 - 11:37 (00:00) root pts/0 192.168.1.164 Tue May 24 11:35 - 11:43 (00:07) root pts/0 192.168.1.164 Mon May 23 13:37 - 18:32 (04:54)
lastb 列出失败尝试的登录信息
和last命令功能完全相同,只不过它默认读取的是/var/log/btmp文件的信息。当然也可以通过last -f参数指定读取文件,可以是/var/log/btmp、/var/run/utmp
lastlog 列出所有用户最近登录的信息
lastlog引用的是/var/log/lastlog文件中的信息,包括login-name、port、last login time