web-dev-qa-db-fra.com

Comment réparer amvavis en rapportant "permission refusée" pour clamav

J'ai récemment remarqué un problème frustrant ... Lors du traitement d'un courrier électronique, un serveur Ubuntu (avec toutes les mises à jour appliquées) signale "Autorisation refusée" lors d'une tentative d'analyse antivirus des pièces jointes.

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

Quand je regarde les répertoires en question, je vois ceci:

$ 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

Je me suis assuré que l'utilisateur clamd est membre du groupe amavisd - mais cela n'a rien arrangé. Quelqu'un peut-il me dire précisément quel composant veut quelles autorisations - et ... idéalement ... que faire pour résoudre ce problème?

Clarification : Je ne cherche pas d'explications sur les principes fondamentaux des autorisations. Je recherche une solution appropriée à ce problème spécifique - qui, à première vue, du moins, donne l’impression que l’un des composants de la suite amavis (peut-être clamd) utilise la mauvaise valeur umask. Bien entendu, ce défaut peut être dû à un certain nombre de bugs ou à des problèmes de configuration. Je cherche en particulier la résolution la plus appropriée pour ce cas ... lorsqu'une installation 'Vanilla' amavis/clamav ne parvient pas à accéder au contenu des dossiers temporaires créés lors de la numérisation des courriers électroniques entrants.

Je suis conscient de cela question similaire (non Ubuntu). La réponse Redhat/Centos ne résout pas le problème que je rencontre avec Ubuntu.

Ce problème est rencontré sur "Ubuntu 14.04.2 LTS" - aucune mise à jour n'est en attente.

12
aSteve

Alors que l'utilisateur clamd était membre du groupe amavis, le processus clamd s'exécutait en tant qu'utilisateur clamav (et non clamd).

L'ajout de clamav au groupe amavis a résolu le problème.

6
aSteve

Une solution de travail est de changer

AllowSupplementaryGroups false -> true

dans /etc/clamav/clamd.conf

redémarrer le démon clamav

13
war

Comme AllowSupplementaryGroups n'existe plus, j'ai fini par ajouter chaque utilisateur à l'autre groupe, comme ceci:

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

(et redémarrez tout pour être sûr)

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

Avec cela, pas besoin de changer l'autorisation du dossier sur /var/lib/amavis/tmp (et je ne suis pas sûr que ces autorisations seront laissées telles quelles lors de la prochaine mise à niveau d'apt-get ...)

2
Worst

Je cherchais autour de moi et ne trouvais aucune information sur ce que je faisais. J'ai d'abord démonté le lecteur en question, puis remonté le lecteur.

ls -l /dev
Sudo umount /dev/sdd4
Sudo mkdir /mnt
Sudo mount /dev/sdd4 /mnt
0
Klint Krossa