在 CentOS 操作系统中,登录日志记录了用户登录和退出系统的详细信息,这些信息对于系统管理员进行安全审计、监控用户活动以及排查问题非常重要,以下是关于 CentOS 登录日志的详细介绍,包括如何查看和管理这些日志。
CentOS 登录日志
CentOS 使用多个文件来记录用户的登录信息:
1、utmp:存储当前登录的用户信息。
2、wtmp:记录所有成功和失败的登录尝试,包括登录时间和持续时间。
3、btmp:记录失败的登录尝试。
4、lastlog:记录每个用户最后一次登录的时间。
查看登录日志的方法
1. 使用who
命令
who
命令查询utmp
文件并报告当前登录的每个用户,默认输出包括用户名、终端类型、登录日期及远程主机。
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
命令
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 通过多个文件记录用户的登录信息,包括utmp
、wtmp
、btmp
和lastlog
,系统管理员可以使用who
、w
、users
、last
、ac
、lastlog
等命令查看这些信息,定期备份和清理日志文件,以及配置日志轮转,是确保系统性能和安全性的关键措施,通过以上方法,系统管理员可以有效地管理和监控 CentOS 系统的登录活动。