HCRM博客

如何查看和分析CentOS系统的登录日志?

在 CentOS 操作系统中,登录日志记录了用户登录和退出系统的详细信息,这些信息对于系统管理员进行安全审计、监控用户活动以及排查问题非常重要,以下是关于 CentOS 登录日志的详细介绍,包括如何查看和管理这些日志。

CentOS 登录日志

CentOS 使用多个文件来记录用户的登录信息:

如何查看和分析CentOS系统的登录日志?-图1
(图片来源网络,侵权删除)

1、utmp:存储当前登录的用户信息。

2、wtmp:记录所有成功和失败的登录尝试,包括登录时间和持续时间。

3、btmp:记录失败的登录尝试。

4、lastlog:记录每个用户最后一次登录的时间。

查看登录日志的方法

1. 使用who 命令

who 命令查询utmp 文件并报告当前登录的每个用户,默认输出包括用户名、终端类型、登录日期及远程主机。

如何查看和分析CentOS系统的登录日志?-图2
(图片来源网络,侵权删除)
who
root     pts/0        20220524 11:43 (192.168.1.164)
root     pts/1        20220524 11:43 (192.168.1.164)

2. 使用wtmp 文件

可以通过指定wtmp 文件名来查询以前所有的登录记录,使用命令who /var/log/wtmp 可以查看所有登录记录:

who /var/log/wtmp
root     pts/2        20230402 16:08 (27.38.230.201)
root     pts/3        20230402 16:08 (27.38.230.201)
root     pts/0        20230402 19:20 (27.38.230.201)
root     pts/1        20230402 19:20 (27.38.230.201)
root     pts/0        20230402 22:56 (117.139.216.215)
root     pts/1        20230402 23:30 (117.139.216.215)
root     pts/2        20230402 23:31 (117.139.216.215)
root     pts/2        20230403 00:25 (117.139.216.215)
root     pts/0        20230403 14:35 (113.98.62.130)
root     pts/1        20230403 14:35 (113.98.62.130)
root     pts/0        20230404 09:12 (113.98.62.130)
root     pts/1        20230404 09:12 (113.98.62.130)
root     pts/0        20230404 09:39 (113.98.62.130)
root     pts/1        20230404 09:39 (113.98.62.130)
root     pts/3        20230404 09:50 (113.98.62.130)

3. 使用last 命令

last 命令往回搜索wtmp 文件,显示自从文件第一次创建以来登录过的用户,它默认读取/var/log/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)    
root     pts/0        192.168.1.251    Wed May 13 14:59 12:54 (739+21:54) 
reboot   system boot  3.10.01127.el7.x86_64    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.0957.1.3.el7.x86_64    Wed May 13 13:57 14:55  (00:58)    
reboot   system boot  3.10.0957.1.3.el7.x86_64    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.0957.1.3.el7.x86_64    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.0514.el7.x86_64    Fri Dec 28 10:57 14:15  (03:17)

last 命令的输出内容包括用户名、终端位置、登录源信息、开始时间、结束时间、持续时间等。

4. 使用lastlog 命令

如何查看和分析CentOS系统的登录日志?-图3
(图片来源网络,侵权删除)

lastlog 命令用于察看每个用户最后一次登录的时间,它读取/var/log/lastlog 文件。

lastlog
Username        Last login                                      Last logout

root            Fri Oct 28 15:27:56 on pts/0 from ::ffff:XXXX:XXXX:XXXX to Tue Nov  7 09:45:57 on pts/0 from XXXX:XXXX:XXXX:XXXX
daemonNever logged inNever logged out
binNever logged inNever logged out
admNever logged inNever logged out
lpd             Fri Oct 28 15:27:56 on pts/0 from XXXX:XXXX:XXXX:XXXX to Tue Nov  7 09:45:57 on pts/0 from XXXX:XXXX:XXXX:XXXX
sync            Fri Oct 28 15:27:56 on pts/0 from XXXX:XXXX:XXXX:XXXX to Tue Nov  7 09:45:57 on pts/0 from XXXX:XXXX:XXXX:XXXX
shutdown        Sat Oct 28 15:27:56 on pts/0 from XXXX:XXXX:XXXX:XXXX to Tue Nov  7 09:45:57 on pts/0 from XXXX:XXXX:XXXX:XXXX
halt           Fri Oct 28 15:27:56 on pts/0 from XXXX:XXXX:XXXX:XXXX to Tue Nov  7 09:45:57 on pts/0 from XXXX:XXXX:XXXX:XXXX
mailNever logged inNever logged out
operatorNever logged inNever logged out
uucp           Fri Oct 28 15:27:56 on pts/0 from XXXX:XXXX:XXXX:XXXX to Tue Nov  7 09:45:57 on pts/0 from XXXX:XXXX:XXXX:XXXX
...

CentOS 登录日志管理

备份和清理日志文件

定期备份和清理日志文件是维护系统性能和安全性的重要部分,可以使用以下命令备份和清理日志文件:

tar cvzf /backup/logs_$(date +%Y%m%d).tar.gz /var/log/*
> /var/log/wtmp
> /var/log/btmp
> /var/log/lastlog

配置日志轮转

为了避免日志文件过大,通常需要配置日志轮转,可以通过logrotate 工具来实现,编辑/etc/logrotate.conf/etc/logrotate.d/syslog,添加如下配置:

/var/log/wtmp {
    missingok
    monthly
    create 640 root utmp
    rotate 1
}
/var/log/btmp {
    missingok
    monthly
    create 640 root utmp
    rotate 1
}
/var/log/lastlog {
    missingok
    monthly
    create 640 root utmp
    rotate 1
}

上述配置表示每月轮转一次日志文件,并保留一个旧文件。

CentOS 通过多个文件记录用户的登录信息,包括utmpwtmpbtmplastlog,系统管理员可以使用whowuserslastaclastlog 等命令查看这些信息,定期备份和清理日志文件,以及配置日志轮转,是确保系统性能和安全性的关键措施,通过以上方法,系统管理员可以有效地管理和监控 CentOS 系统的登录活动。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18629.html

分享:
扫描分享到社交APP
上一篇
下一篇