![在 Cyrus/imapd 中禁用 user_deny.db](https://linux22.com/image/579526/%E5%9C%A8%20Cyrus%2Fimapd%20%E4%B8%AD%E7%A6%81%E7%94%A8%20user_deny.db.png)
我们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