[FUG-BR] duvida amavis

Ricardo Campos Passanezi riccp em ige.unicamp.br
Terça Outubro 31 10:01:27 BRST 2006


On Mon, Oct 30, 2006 at 09:47:42PM -0200, listas diogo wrote:
> caros amigos to tendo as seguintes mensagens no log do postfix
> 
> Oct 31 00:46:24 mail amavis[1390]: (01390-04) (!!)ask_av (ClamAV-clamd) 
> FAILED - unexpected result: 
> /var/amavis/tmp/amavis-20061031T002758-01390/parts: lstat() failed. ERROR\n
> Oct 31 00:46:24 mail amavis[1390]: (01390-04) (!!)WARN: all primary virus 
> scanners failed, considering backups
> 
> 
> 
> alguem sabe me dizer pq esta acontecendo isso ?


Provavelmente o daemon do clamav não está rodando ou está rodando com
permissão errada.

Pra funcionar direito você deve:

(a) compilar o clamav com as opções:

    CLAMAVUSER=vscan
    CLAMAVGROUP=vscan

    E, se possível, setar os diretórios do clamav como o diretório
    padrão do amavis:

    DBDIR=/var/amavis/clamav
    RUNDIR=/var/amavis
    CLAMD_SOCKET=/var/amavis/clamd

    Desse modo, o usuário que roda o amavis (no caso "vscan") será o
    dono do "clamav" e não terá problemas.

OU

(b) colocar o "vscan" (ou o usuário que roda o amavis) no grupo clamav e
    acertar as permissões de grupo nos diretórios do clamav (pois o
    grupo deve ter acesso de escrita no socket).



Como prefiro a alternativa (a) não posso te dar mais detalhes sobre (b).
as é só você procurar na lista do amavis que deve encontrar.

Sobre (a): essas "opções" são usadas quando utiliza-se o ports. Aí você
define as variáveis de ambiente e compila. Se utilizar o portupgrade, é
só colocar no pkgtools.conf:

...
 MAKE_ARGS = {
        'security/clamav' => [ 'WITHOUT_MILTER=true',
                               'DBDIR=/var/amavis/clamav',
                               'RUNDIR=/var/amavis',
                               'CLAMD_SOCKET=/var/amavis/clamd',
                               'CLAMAVUSER=vscan',
                               'CLAMAVGROUP=vscan', ],
}

Se tiver mais opções é só colocar aí.


Pode ser também que o socket esteja errado. Veja a definição do clamav
no amavis:

  ### http://www.clamav.net/
  ['ClamAV-clamd',
    \&ask_daemon, ["CONTSCAN {}\n", "/var/amavis/clamd"],
    qr/\bOK$/, qr/\bFOUND$/,
    qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
 
Como uso as opções acima, o socket do clamav fica no "/var/amavis" e a
definição acima funciona normalmente.


-- 
Ricardo Campos Passanezi


Mais detalhes sobre a lista de discussão freebsd