有没有办法让 UFW 退出 dmesg?

有没有办法让 UFW 退出 dmesg?

文件中有一些注释/etc/rsyslog.d/20-ufw.conf,让您可以选择不将 UFW 事件记录到内核和消息日志中,我已经这样做了。

我真的很想将 UFW 事件从中移除dmesg,但该如何实现呢?

答案1

您可以使用以下命令从 shell 禁用 UFW 日志记录:

sudo ufw logging off

默认日志级别为低的。 从UFW 手册页

  • 离开 禁用 ufw 管理日志记录
  • 低的 记录所有不符合默认策略(带速率限制)的阻止数据包,以及符合记录规则的数据包
  • 中等的日志级别低,加上所有不匹配默认策略的允许数据包、所有无效数据包和所有新连接。所有日志记录都通过速率限制完成。
  • 高的 日志级别中等(无速率限制),以及所有具有速率限制的数据包
  • 满的 日志级别高,无速率限制

您可以使用 获取当前日志级别sudo ufw status verbose

答案2

我对这个问题做了一些调查。

我不相信有办法解决这个问题。

dmesg命令直接打印内核环缓冲区的内容。这包含您看到的所有 ufw 日志条目。

/etc/rsyslog.d/20-ufw.conf文件告诉 rsyslog 内核环缓冲区中的哪一个 ufw 条目要记录到/var/log/ufw.log/var/log/kern.log

/var/log/kern.log您可以通过取消注释包含的行来阻止记录 ufw 条目(以删除/etc/rsyslog.d/20-ufw.conf重复)& ~

不幸的是,没有办法阻止dmesg命令显示这些消息。您的解决方法是我能想到的最好的办法。

答案3

对于那些想要进一步微调日志级别的人,我建议使用“日志”或拒绝/拒绝规则(请参阅ufw手册页了解详情)。例如,您可以使用“logging off”,然后插入要记录的内容的明确日志记录规则。或者,您可以使用“logging low”,然后插入明确的拒绝/拒绝规则,以悄悄地拒绝原本要记录的匹配项。

答案4

以上答案是唯一的方法:

    dmesg | grep -v UFW

但是您可以通过设置如下别名更轻松地使用它:

    alias dmesg='dmesg | grep -v UFW'

dmesg | grep -v UFW如果您输入 ,这将执行dmesg

如果要保留 dmesg 的彩色版本,可以使用以下命令:

    alias dmesg='dmesg --color=always | grep -v UFW --color=always'

这样,dmesg管道上也可以使用颜色。

警告!仅在查看日志和搜索某些内容时使用此方法,因为这可能会破坏该会话中的某些第三方脚本。

相关内容