从journalctl文件中删除单行

从journalctl文件中删除单行

我有一台 Ubuntu 18.04 服务器,正在运行我正在开发的服务。输出将发送到系统日志进行记录。

我意外地未能清理某些日志记录,并且日志中意外泄露了明文密码(针对我自己的用户)。

我已经修复了服务的日志记录行为。现在我只想编辑日志文件以删除带有明文密码的行。

如何编辑journalctl文件?

答案1

systemd 的日志旨在防止这种篡改。

记录了日志文件格式这里它描述了它的支持在线前向安全密封:

标签对象用于密封日志以供更改。标签对象会定期附加到文件中。标记对象由 SHA-256 HMAC 标记组成,该标记是根据自上次写入标记以来存储在文件中的对象计算的,如果尚未写入标记,则从头开始计算。 HMAC 的密钥是通过外部维护的 FSPRG 逻辑为写入 epoch 的 epoch 计算的。序列号 seqnum 随着每个标签而增加。 [..]

标签对象

您可以做的是清除日志,其中包含修复服务之前的日志条目(例如,您两天前修复了它):

journalctl --rotate --vacuum-time=2d

来源:如何清除 systemd 日志日志

答案2

strings "$file" | grep "xxxxx"

将显示您的添加内容。但是,那是二进制文件,我不确定手动编辑时会产生什么后果。我只用它们来阅读。

相关内容