Come risolvere amvavis che riporta "permesso negato" per clamav


12

Di recente ho notato una confusione frustrante ... Durante l'elaborazione della posta elettronica, un server Ubuntu (con tutti gli aggiornamenti applicati) riporta "Autorizzazione negata" quando si tenta di scansionare gli allegati di virus.

Apr  2 14:05:20 svr amavis[6376]: (06376-01) (!)run_av (ClamAV-clamd) FAILED - unexpected , output="/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts: lstat() failed: Permission denied. ERROR\n"
Apr  2 14:05:20 svr amavis[6376]: (06376-01) (!)ClamAV-clamd av-scanner FAILED: CODE(0x30cf250) unexpected , output="/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts: lstat() failed: Permission denied. ERROR\n" at (eval 136) line 899.
Apr  2 14:05:20 svr amavis[6376]: (06376-01) (!)WARN: all primary virus scanners failed, considering backups

Quando guardo le directory in questione, vedo questo:

$ ls -ld /var/lib/amavis/tmp
drwxrwx--- 4 amavis amavis 4096 Apr  2 14:16 /var/lib/amavis/tmp
$ ls -ld /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/
drwxr-x--- 3 amavis amavis 4096 Apr  2 14:05 /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/
$ ls -ld /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts                                                                                                                                                                           
drwxr-x--- 2 amavis amavis 4096 Apr  2 14:16 /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts

Mi sono assicurato che l'utente clamd fosse un membro del gruppo amavisd - ma questo non ha risolto nulla. Qualcuno può dirmi, in particolare, quale componente desidera quali autorizzazioni - e ... idealmente ... cosa fare per risolvere questo problema?

Chiarimento : non sto cercando una spiegazione dei fondamenti delle autorizzazioni. Sto cercando una soluzione adeguata a questo specifico problema - che, a prima vista, almeno, sembra che un componente della suite amavis (forse clamd) stia usando il valore umask sbagliato. Ovviamente, questo errore potrebbe essersi verificato a causa di numerosi bug o problemi di configurazione. Sto cercando, in particolare, la risoluzione più appropriata per questo caso ... dove un'installazione "vanilla" di amavis / clamav non riesce ad accedere al contenuto delle cartelle temporanee che crea come / quando richiesto per scansionare la posta in arrivo.

Sono a conoscenza di questa domanda simile (non Ubuntu). La risposta Redhat / Centos non risolve il problema che riscontro con Ubuntu.

Questo problema si verifica su "Ubuntu 14.04.2 LTS" - non ci sono aggiornamenti in sospeso.


Il gruppo amavisnon ha autorizzazioni di scrittura per /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/e/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts
AB

Prova questochmod -R g+w /var/lib/amavis/tmp
AB

Il problema non è che non riesco a modificare le autorizzazioni per consentire la scrittura di gruppo nelle directory ... Il problema è che non so come garantire che le directory create in / var / lib / amavis / tmp / - in futuro: crea con le autorizzazioni corrette. Questa directory sembra essere dove amavis espande i messaggi per ispezionare gli allegati. Le impostazioni predefinite funzionavano ... ora, dopo alcuni aggiornamenti, non funziona.
ate

Quindi lavora sulla tua domanda.
AB

Risposte:


13

Una soluzione funzionante è cambiare

AllowSupplementaryGroups false -> true

in /etc/clamav/clamd.conf

riavvia clamav-daemon


2
Questo è ciò che ha risolto per me (sono su Debian Jessie). L'aggiunta di clamav al gruppo amavis non lo ha risolto.
chmike,

2
L' AllowSupplementaryGroupsopzione è stata abbandonata nelle ultime versioni di clamav (0.99.2+, 2 giugno 2016 a monte).
Daniel Vérité,

1
+1 Questo ha funzionato. La risposta approvata di seguito NON. Se avessi seguito la pagina wiki di Ubuntu AmavisNew (si spera), avresti già aggiunto amavis / clamav come gruppi supplementari l'uno all'altro. La risposta approvata non fa altro che ripeterlo e non funziona. Sto eseguendo pkgs predefiniti su 16.04.1 LTS. ref: help.ubuntu.com/community/PostfixAmavisNew
bshea


Confermato: risolto problema anche per me Ubuntu LTS 16.04.1

6

Mentre l' clamdutente era un membro del amavisgruppo, il clamdprocesso era in esecuzione come clamav(non clamd) utente.

L'aggiunta clamaval amavisgruppo ha risolto il problema.


2

Poiché AllowSupplementaryGroupsnon esiste più, ho concluso aggiungendo ciascun utente all'altro gruppo, in questo modo:

usermod -a -G clamav amavis
usermod -a -G amavis clamav

(e riavvia tutto solo per sicurezza)

/etc/init.d/clamav-daemon restart
/etc/init.d/amavis restart
/etc/init.d/postfix restart

Con questo, non è necessario cambiare i permessi della cartella /var/lib/amavis/tmp(e non sono sicuro che quei permessi rimarranno come nel prossimo apt-get upgrade ...)


Il pkg predefinito su 16.04.1 ha la direttiva AllowSupplementaryGroupsnella configurazione principale. Stai pubblicando informazioni fuorvianti. Se la direttiva non esiste nelle versioni più recenti, perché l'aggiunta dei gruppi supplementari a ciascun account funziona per te? È STILL IN THE CONFIG il 16.04.1 perché non viene più utilizzato? Hmm. Fammi vedere la prova. BTW commutando questo "VERO" ha fatto funzionare tutto il 16.04.1. ref: help.ubuntu.com/community/PostfixAmavisNew#Tro troubleshooting
bshea

Ciò non è vero che AllowSupplementaryGroups non esiste. E per di più devi impostarlo su true per farlo funzionare davvero.
user3021729

Grep dalla fonte ver 0.99.2 clamd / clamd.c- if (optget (opts, "AllowSupplementaryGroups") -> enabled) {clamd / clamd.c- # ifdef HAVE_INITGROUPS clamd / clamd.c: if (initgroups (opt-> strarg, user-> pw_gid)) {clamd / clamd.c: fprintf (stderr, "ERRORE: initgroups () non riuscito. \ n"); clamd / clamd.c- optfree (opts); clamd / clamd.c- return 1; clamd / clamd.c-} clamd / clamd.c- # else
Ding-Yi Chen

0

Mi guardavo intorno e non ho trovato alcuna informazione su ciò che ho fatto. Innanzitutto ho smontato l'unità in questione, quindi ho rimontato l'unità.

ls -l /dev
sudo umount /dev/sdd4
sudo mkdir /mnt
sudo mount /dev/sdd4 /mnt

-5

Hai provato a inserire questo nel terminale:

       sudo -i
       gksu thunar

e se thunar non è installato inserire questo nel terminale:

        sudo apt-get install thunar 

e fai il permesso di leggere e scrivere per la directory:

       /var/lib/amavis

e questo è con thunar, e potrebbe funzionare bene in questo modo.


4
Thunar per impostare le autorizzazioni? OH MIO DIO.
AB

2
E poi su un server?
AB

Mishael, puoi usarlo per cambiare i permessi quando hai GUI (gtk2 + xfce) già installato come Ubuntu Desktop Edition. L'OP qui menzionava l'uso di Ubuntu Server. Ciò significa che non è installata alcuna GUI e devi invece utilizzare CLI / riga di comando. eq: sudo chmod -R +rw /var/lib/amavis(-R per ricorsivo)
user.dz,

Prova questo ulimet -i illimitato, e potrebbe funzionare bene in questo modo.
Michael,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.