我的 AWS 实例自 7 月起开始运行。我大约每周登录一次。
当我last
在盒子上运行时,它只能看到从十月初开始的登录信息。
我看不到我曾经进行过的所有登录信息,这有什么正当理由吗?或者我应该担心吗?
答案1
这很可能是日志旋转如果你查看 /etc/logrotate.conf,你会看到类似
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}
意思是每月轮换一次 /var/log/wtmp 文件并保留一份以前的副本。如果你想保留更多副本,请增加轮换次数
旋转计数
日志文件会轮换 count 次,然后才会被移除或邮寄到 mail 命令中指定的地址。如果 count 为 0,则会移除旧版本,而不会轮换。
如果你查看 /var/log,你可能会发现如下文件
/var/log/wtmp
/var/log/wtmp.1
如果你想访问早期文件中的数据,你可以使用
last -f /var/log/wtmp.1
答案2
我认为你或具有 root 权限的人已经发出
cat /dev/null > /var/log/wtmp
这将删除以前的登录信息。检查 wtmp 的修改时间
stat %s /var/log/wtmp
答案3
您可能在一台不常访问的服务器上遇到过这种情况,而且 lastlog(/var/log/wtmp)的轮换频率也较低。
编辑 /etc/logrotate.conf 找到 /var/log/wtmp 部分增加轮换周期,例如从“每月”改为“每年”。
现在,当您使用最后一个命令时,您将看到更长的登录列表,跨越更长的时间跨度,您会感觉更好!
这个问题涉及到一些奇怪的心理学,涉及“范式”、信仰体系和基于重复条件的期望。我有一个不经常访问的代理服务器,每次我执行“最后”时,非常短的列表总是让我感到怀疑。感觉不对劲只是范式的心理,即“你已经习惯(数千次)在其他服务器上看到更长的登录列表”,因此你期望一个长列表!范式会导致一个人一遍又一遍地犯错,同时一直认为他们做对了。