CentOS 7 上 clamd 与 amavisd(用于 postfix)结合使用时出现套接字错误

CentOS 7 上 clamd 与 amavisd(用于 postfix)结合使用时出现套接字错误

经过几个小时的故障排除和寻找类似案例后,我似乎仍无法找出问题所在。

与完全相同配置的其他电子邮件服务器一样,受影响的服务器基于 CentOS 7,运行带有 Amavisd-new 和 ClamAV 的 Postfix(除了或多或少不相关的部分,例如 Dovecot、SpamAssassin 等,它们仍然有效)。

问题在于 amavis 突然无法再连接到 clamd,因为套接字不存在:

连接到 /var/run/clamd.amavisd/clamd.sock 失败,尝试 #1:无法连接到 UNIX 套接字 /var/run/clamd.amavisd/clamd.sock:没有此文件或目录

该目录始终由 amavisd 的 tmpfiles.d 条目创建,并具有正确的用户/组和标签集:

drwxrwx---. amavis clamupdate system_u:object_r:antivirus_var_run_t:s0 clamd.amavisd

/etc/amavisd/amavisd.conf 和 /etc/clamd.d/amavisd.conf 中的相关部分共享相同的 sock 选项,并且 clamd 以用户 amavis 身份运行:

grep clamd.sock /etc/clamd.d/amavisd.conf /etc/amavisd/amavisd.conf

/etc/clamd.d/amavisd.conf:本地套接字 /var/run/clamd.amavisd/clamd.sock

/etc/amavisd/amavisd.conf:\&ask_daemon,["CONTSCAN {}\n", "/var/run/clamd.amavisd/clamd.sock"],

SELinux 已开启 antivirus_can_scan_system 和 clamd_use_jit,并通过试用方式将其禁用。

我尝试手动创建套接字,创建一个实例化单元作为[电子邮件保护]以及完全删除 ClamAV 并重新安装它:

clamav 服务器 clamav 数据 clamav 更新 clamav 文件系统 clamav clamav 扫描仪系统 d clamav 开发 clamav lib clamav 服务器系统 d

现在我已经没有主意了,因此想问一下是否有人遇到过这种情况并且可以提供一些建议。

我期待您的想法。:-) Cora

答案1

systemctl daemon-reloadsystemctl start clamd@amavisd我而言,这是有效的。

答案2

停止 amavisd 服务,手动启动 clamd@scan 和 clamd@amavisd。然后重新启动 amavisd

systemctl stop amavisd
systemctl start clamd@amavisd
systemctl start clamd@scan
systemctl start amavisd

相关内容