文件中有一些注释/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
管道上也可以使用颜色。
警告!仅在查看日志和搜索某些内容时使用此方法,因为这可能会破坏该会话中的某些第三方脚本。