[Linux] 如何查看Centos用户登陆记录?

Posted 千千寰宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Linux] 如何查看Centos用户登陆记录?相关的知识,希望对你有一定的参考价值。

0 序言

首先简单介绍一下Centos中记录登陆信息的日志

有关当前登录用户的信息记录在文件utmp中;登录进入和退出纪录在文件wtmp中;最后一次登录文件可以用lastlog命令察看。 数据交换、关机和重起也记录在wtmp文件中。所有的纪录都包含时间戳。

每次有一个用户登录时,login程序在文件lastlog中察看用户的UID。如果找到了,则把用户上次登录、退出时间和主机名写到标准输出中,然后login程序在lastlog中纪录新的登录时间。 在新的lastlog纪录写入后,utmp文件打开并插入用户的utmp纪录。该纪录一直用到用户登录退出时删除。utmp文件被各种命令文件使用,包括who、w、users和finger。 下一步,login程序打开文件wtmp附加用户的utmp纪录。当用户登录退出时,具有更新时间戳的同一utmp纪录附加到文件中。wtmp文件被程序last和ac使用。 wtmp和utmp文件都是二进制文件,用户需要使用who、w、users、last和ac来使用这两个文件包含的信息。

下面来说如何查看Centos用户登陆日志

1 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)

2 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)
root     pts/2        2023-04-03 00:25 (117.139.216.215)
root     pts/0        2023-04-03 14:35 (113.98.62.130)
root     pts/1        2023-04-03 14:35 (113.98.62.130)
root     pts/0        2023-04-04 09:12 (113.98.62.130)
root     pts/1        2023-04-04 09:12 (113.98.62.130)
root     pts/0        2023-04-04 09:39 (113.98.62.130)
root     pts/1        2023-04-04 09:39 (113.98.62.130)
root     pts/3        2023-04-04 09:50 (113.98.62.130)

3 last : 列出当前和曾经登入系统的用户信息

last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。

  • 它默认读取的是/var/log/wtmp文件的信息。
  • 输出的内容包括:用户名、终端位置、登录源信息、开始时间、结束时间、持续时间。
  • 语法
语法:last [-R] [-num] [ -n num ] [-adiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name...]  [tty...]

例子:last -x :显示系统关闭、用户登录和退出的历史
          last -i:显示特定ip登录的情况
          last -t  20181010120101: 显示20181010120101之前的登录信息18
  • 此外注意: 最后一行输出的是wtmp文件起始记录的时间。

  • 当然,也可以通过last -f参数指定读取文件,可以是/var/log/btmp/var/run/utmp

例如:

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)    
root     pts/0        192.168.1.251    Wed May 13 14:59 - 12:54 (739+21:54) 
reboot   system boot  3.10.0-1127.el7. Wed May 13 14:56 - 13:33 (740+22:37) 
root     pts/1        192.168.1.251    Wed May 13 14:38 - down   (00:17)    
root     pts/0        192.168.1.251    Wed May 13 14:08 - down   (00:47)    
root     tty1                          Wed May 13 14:06 - 14:55  (00:49)    
reboot   system boot  3.10.0-957.1.3.e Wed May 13 13:57 - 14:55  (00:58)    
reboot   system boot  3.10.0-957.1.3.e Fri Dec 28 13:41 - 14:15  (00:33)    
root     pts/1        192.168.1.251    Fri Dec 28 11:32 - 13:39  (02:06)    
root     pts/0        192.168.1.251    Fri Dec 28 11:28 - crash  (02:13)    
reboot   system boot  3.10.0-957.1.3.e Fri Dec 28 11:28 - 14:15  (02:46)    
root     pts/1        192.168.1.251    Fri Dec 28 11:15 - crash  (00:12)    
root     pts/0        192.168.1.251    Fri Dec 28 11:01 - crash  (00:27)    
root     tty1                          Fri Dec 28 10:57 - 11:27  (00:30)    
reboot   system boot  3.10.0-514.el7.x Fri Dec 28 10:57 - 14:15  (03:17)    
[root@iZ8vb2gdx61halaoyhkhiiZ nginx]# last
root     pts/4        113.89.7.149     Thu May 11 22:14   still logged in   
root     pts/3        113.89.7.149     Thu May 11 22:14   still logged in   
root     pts/1        117.139.216.162  Thu May 11 21:00   still logged in   
root     pts/3        113.98.62.130    Thu May 11 20:15 - 20:58  (00:43)    
root     pts/1        113.98.62.130    Thu May 11 20:15 - 20:58  (00:43)    
root     pts/3        113.98.62.130    Thu May 11 17:51 - 18:46  (00:55)    
root     pts/1        113.98.62.130    Thu May 11 17:51 - 18:46  (00:55)    
root     pts/3        113.98.62.130    Thu May 11 09:39 - 12:32  (02:53)    
root     pts/1        113.98.62.130    Thu May 11 09:39 - 12:32  (02:53)    
root     pts/3        119.123.79.165   Thu May 11 00:14 - 00:48  (00:33)    
root     pts/1        119.123.79.165   Thu May 11 00:14 - 00:48  (00:33)    

4 lastlog : 列出所有用户最近登录的信息

lastlog引用的是/var/log/lastlog文件中的信息,包括: login-name、port、last login time

5 lastb : 列出失败尝试的登录信息

和last命令功能完全相同,只不过它默认读取的是/var/log/btmp文件的信息。
当然也可以通过last -f参数指定读取文件,可以是/var/log/btmp、/var/run/utmp

X 参考文献

怎么查看Centos用户登陆记录?

参考技术A 这个命令是last。它对于追踪非常有用。\\x0d\\x0a\\x0d\\x0alast显示的是自/var/log/wtmp文件创建起所有登录(和登出)的用户。这个文件是二进制文件,它不能被文本编辑器浏览,比如vi、Joe或者其他软件。这是非常有用的,因为用户(或者root)不能像他们希望的那样修改这个文件。\\x0d\\x0alast会给出所有已登录用户的用户名、tty、IP地址(如果用户是远程连接的话)、日期-时间和用户已经登录的时间。\\x0d\\x0a\\x0d\\x0a如何运行last\\x0d\\x0a你只要在控制台中输入last即可。这是个例子:\\x0d\\x0a$ lastleni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)pungki tty1 Mon Dec 2 09:31 still logged inreboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05) \\x0d\\x0a\\x0d\\x0a这里是如何阅读last信息:\\x0d\\x0a第一列告诉谁是用户\\x0d\\x0a第二列给出了用户如何连接的信息\\x0d\\x0apts/0 (伪终端) 意味着从诸如SSH或telnet的远程连接的用户\\x0d\\x0atty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户\\x0d\\x0a除了重启活动,所有状态会在启动时显示\\x0d\\x0a第三列显示用户来自哪里。如果用户来自于远程计算机,你会看到一个主机名或者IP地址。如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。除了重启活动,内核版本会显示在状态中。\\x0d\\x0a剩下的列显示日志活动发生在何时。括号中的数字告诉我们连接持续了多少小时和分钟。

以上是关于[Linux] 如何查看Centos用户登陆记录?的主要内容,如果未能解决你的问题,请参考以下文章

怎么查看Centos用户登陆记录?

怎么查看Centos用户登陆记录

Linux里面如何查看系统用户登录日志?

centos 7 查看所有登录用户的操作历史

如何查看SQLServer登陆用户

LINUX服务器--所有用户登陆操作命令审计