在 Cyrus/imapd 中禁用 user_deny.db

在 Cyrus/imapd 中禁用 user_deny.db

我们cyrus 2.4.12在 Debian 上有一个,我们使用包,而不是自己构建每个软件。

我不断地收到这个“日志”,很多,不同的用户,每个用户请求 8-10 次:

正在获取 user_deny.db 中“user123”的条目

我已经搜索过了,但没有找到真正的解决方案,一些补丁适用于 2.3.xx,但是我们不想构建它,我们更喜欢使用包。

有没有什么解决方案可以user_deny.db完全禁用它。我们不需要这个功能。它浪费了 CPU 和磁盘。

答案1

我会切换到syslog-ng并通过配置过滤掉该消息:

filter f_imapd { facility(local6) and level(debug) and not match("regexp" value("fetching user_deny.db entry for")); };

答案2

如果您使用 syslog-ng,您还可以尝试使用 suppress 配置选项来抑制相同的消息:

options {
 suppress(30);
};

在此示例中,每 30 秒将记录一次相同的消息

答案3

似乎正确的过滤器语法是:

filter f_imapd { facility(local6) and not match("fetching user_deny.db entry for" value("MESSAGE")); };

答案4

cyrus-imapd 发送所有级别的消息(调试、信息、警告、错误),并且无法断开连接或更改消息级别。2011 年 bugzilla 中报告了此问题,但他们似乎无意修复它,因此无法断开连接。要从日志中删除它们,可以从 rsyslog 中拦截它们。

为此,请在 /etc/rsyslog.d 中创建一个文件,例如:

vi /etc/rsyslog.d/fetching_user_deny_error.conf

将其添加到文件中:

if $programname == 'cyrus' and $msg contains_i 'fetching user_deny' then ~

要完成重新启动 rsyslog:

service rsyslog restart

相关内容