前段时间为了方便以后开测试资源,便在 PVE 上建了一个 CentOS7 的模版,设置完成后为了还原回一个较干净的系统,便去查了下如何清理登录记录,故记于此。
查看登录记录
在 CentOS 中,查看登录记录的命令主要是last
、lastb
和lastlog
,对应保存在 /var/log/
目录下:
- last:
/var/log/wtmp
记录已成功登录的用户列表; - lastb:
/var/log/btmp
:记录尝试登录的用户列表; - lastlog:
/var/log/lastlog
:记录最近登录的用户信息;
不过上面提到的文件都是以二进制格式存储,虽然可以通过命令查看对应的信息,却无法直接修改,这时我们便可以借助 utmpdump
这个命令。
清除登录记录
utmpdump
是一个以原始格式转储 UTMP 和 WTMP 文件的程序,除了可以用于查看或监控文件的变化之外,也可以互转二进制文件和文本格式:
所以,当我们想删除最近的登录记录时,便可以先把对应的文件转换为文本格式后再去修改:
待完成修改后,再将文本文件转回二进制文件即可;不过也可以用更简单的方法,即使用命令 echo > /var/log/wtmp
直接清空记录。
注:-r 参数主要用于调试或测试,请勿在生产环境使用。