Назад | Перейти на главную страницу

Ошибка сокета clamd в сочетании с amavisd (используется для постфикса) в CentOS 7

Кажется, я не могу понять проблему после нескольких часов поиска неисправностей и поиска похожих случаев.

Подобно другим почтовым серверам в той же конфигурации, затронутый сервер основан на CentOS 7, работающем с Postfix с Amavisd-new и ClamAV (помимо более или менее неактуальных частей, таких как Dovecot, SpamAssassin и т.

Проблема состоит в том, что amavis внезапно не может больше подключиться к clamd, потому что сокет не существует:

подключиться к /var/run/clamd.amavisd/clamd.sock не удалось, попытка №1: не удается подключиться к сокету UNIX /var/run/clamd.amavisd/clamd.sock: нет такого файла или каталога

Каталог всегда создается записью tmpfiles.d в amavisd и имеет правильный пользователь / группу и набор меток:

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: LocalSocket /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, которые были отключены в качестве пробной версии.

Я попытался вручную создать сокет, создав экземпляр модуля как clamd@amavisd.service, а также полностью удалил ClamAV и переустановил его:

clamav-server clamav-data clamav-update clamav-файловая система clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

Сейчас у меня закончились идеи, и поэтому я хотел бы спросить, сталкивался ли кто-нибудь с этим сценарием и мог бы дать несколько советов.

Я с нетерпением жду ваших мыслей. :-) Кора

Остановите службу amavisd, запустите вручную clamd @ scan и clamd @ amavisd. Затем перезапустите amavisd

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

systemctl daemon-reload с последующим systemctl start clamd@amavisd работал в моем случае.