如何不间断地清除lastlog文件

如何不间断地清除lastlog文件

在我们的 rhel 机器(生产服务器)上,我们注意到 Lastlog 很大

我们不想中断总是写入日志的操作系统日志,但我们想清除最后的日志

可以清除最后的日志吗

echo > /var/log/lastlog

第二

如何永久禁用对 Lastlog 的写入?

答案1

Lastlog 没有正确报告其大小,ls并且通常根本不是很大。如果您要检查其大小,请确保运行ls -s或使用du.

我相信lastlog就是所谓的稀疏文件ls没有该-s标志则报告文件的表观大小而不是实际大小。

您很可能根本不需要清除 Lastlog 或关心它被写入了多少。

答案2

在 RHEL 7 上覆盖 Lastlog 不会清除它,但会在重新启动时替换该信息。

我不在乎报告的大小很奇怪,我只想真正清除它并在克隆虚拟机映像以创建新系统后重新开始。

所以我尝试使用输出重定向“>”在重新启动之前覆盖它。然后我尝试重命名它并重新启动,但它再次使用所有历史记录创建它。

答案3

最简单的方法:

~] cat /dev/null > /var/log/lastlog

答案4

这是对 Natolio 答案的补充。

可以为单个用户重置最新日志:

sudo lastlog --clear --user username

根据联机帮助页,用户名也可以是用户范围:

用户可以通过登录名、数字用户 ID 或用户范围来指定。可以使用最小值和最大值 (UID_MIN-UID_MAX)、最大值 (-UID_MAX) 或最小值 (UID_MIN-) 来指定此用户范围。

以下命令应清除所有普通用户的最新日志:

sudo lastlog --clear --user 1000-

相关内容