tl; dr:
setsebool -P antivirus_can_scan_system 1
setsebool -P clamd_use_jit on
yum install clamav-scanner-systemd
cd /usr/lib/systemd/system
cp clamd\@scan.service clamd\@amavisd.service
systemctl start clamd@amavisd
systemctl enable clamd@amavisd
systemctl restart amavisd
A versão longa:
Meu palpite é que você está recebendo um erro "não existe arquivo ou diretório" porque o soquete /var/run/clamd.amavisd/clamd.sock
não existe, o que, por sua vez, ocorre porque o daemon clam não está instalado ou em execução e atendendo nesse soquete.
Para corrigir, tente
yum install clamav-scanner-systemd
... que inclui o daemon, clamd
.
Por padrão, o serviço que o acompanha, /usr/lib/systemd/system/[email protected]
, que por sua vez inclui /usr/lib/systemd/system/[email protected]
, tenta abrir o arquivo de configuração incorreto, em virtude do %i
no serviço que é um marcador para o nome da instância. Para fazer com que o serviço use o arquivo conf de amavis, copie-o para uma unidade instanciada apropriadamente:
cd /usr/lib/systemd/system
cp clamd\@scan.service clamd\@amavisd.service
(consulte 9.6.5. Trabalhando com unidades instanciadas em a documentação do RHEL 7 para saber mais sobre isso)
Por fim, tente
systemctl start clamd@amavisd
e verifique se está sendo executado agora, com
systemctl status clamd@amavisd
E finalmente habilite-o com
systemctl enable clamd@amavisd
Verificando o conteúdo de /var/run/clamd.amavisd
, você deve encontrar agora clamd.sock
.
Para uma boa medida,
systemctl restart amavisd
E verifique seus arquivos de log que tudo está funcionando agora.
Se não, e se o SELinux estiver sendo aplicado, você pode precisar executar o seguinte primeiro, para que o ClamAV e o freshclam funcionem:
setsebool -P antivirus_can_scan_system 1
setsebool -P clamd_use_jit on