Comment corriger le rapport amvavis «autorisation refusée» pour clamav

12

J'ai récemment remarqué un problème frustrant ... Lors du traitement des e-mails, un serveur Ubuntu (avec toutes les mises à jour appliquées) signale "Autorisation refusée" lors de la tentative de scan 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 de clamd est membre du groupe amavisd - mais cela n'a rien réglé. Quelqu'un peut-il me dire, en particulier, 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 cherche une solution appropriée à ce problème spécifique - qui, à première vue, au moins, ressemble à si un composant de la suite amavis (peut-être clamd) utilise la mauvaise valeur umask. Bien sûr, cette erreur peut être survenue à la suite d'un certain nombre de bogues ou de problèmes de configuration. Je recherche, 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 qu'elle crée en tant que / lorsque cela est nécessaire pour analyser les e-mails entrants.

Je suis au courant de cette 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" - il n'y a aucune mise à jour en attente.

aSteve
la source
Le groupe amavisn'a aucune autorisation d'écriture pour /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/et/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts
AB
Essayez cecichmod -R g+w /var/lib/amavis/tmp
AB
Le problème n'est pas que je ne peux pas changer les permissions pour autoriser l'écriture de groupe sur les répertoires ... Le problème est que je ne sais pas comment m'assurer que les répertoires créés sous / var / lib / amavis / tmp / - in future - créez-vous avec les autorisations appropriées Ce répertoire semble être l'endroit où amavis étend les messages pour inspecter les pièces jointes. Les valeurs par défaut fonctionnaient ... maintenant, après quelques mises à jour, ce n'est plus le cas.
aSteve
Ensuite, travaillez sur votre question.
AB

Réponses:

13

Une solution de travail est de changer

AllowSupplementaryGroups false -> true

dans /etc/clamav/clamd.conf

redémarrer clamav-daemon

guerre
la source
2
C'est ce qui l'a résolu pour moi (je suis sur Debian Jessie). L'ajout de clamav au groupe amavis ne l'a pas résolu.
chmike
2
L' AllowSupplementaryGroupsoption a été supprimée dans les versions récentes de clamav (0.99.2+, 2 juin 2016 en amont).
Daniel Vérité
1
+1 Cela a fonctionné. La réponse approuvée ci-dessous NE LE FAIT PAS. Si vous avez suivi la page wiki d'Ubuntu AmavisNew (avec un peu de chance), vous auriez déjà ajouté amavis / clamav comme groupes supplémentaires les uns aux autres. La réponse approuvée ne fait que répéter - et ne fonctionne pas. J'utilise des paquets par défaut sur 16.04.1 LTS. ref: help.ubuntu.com/community/PostfixAmavisNew
bshea
Confirmé: problème fixe pour moi aussi, Ubuntu LTS 16.04.1
6

Alors que l' clamdutilisateur était membre du amavisgroupe, le clamdprocessus s'exécutait en tant qu'utilisateur clamav(non clamd).

L'ajout clamavau amavisgroupe a résolu le problème.

aSteve
la source
2

Comme AllowSupplementaryGroupsil 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 tout redémarrer juste 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 de dossier /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 ...)

Pire
la source
Le paquet par défaut du 16.04.1 a la directive AllowSupplementaryGroupsdans la configuration principale. Vous publiez des informations trompeuses. Si la directive n'existe pas dans les versions plus récentes, alors pourquoi l'ajout de groupes supplémentaires à chaque compte vous convient-il? IL EST ENCORE DANS LA CONFIGURATION du 16.04.1 car il n'est plus utilisé? Hmm. Montrez-moi une preuve. BTW commuter ce 'TRUE' a tout fait fonctionner le 16.04.1. ref: help.ubuntu.com/community/PostfixAmavisNew#Troubleshooting
bshea
Ce n'est pas vrai que AllowSupplementaryGroups n'existe pas. Et en plus, vous devez le régler sur true pour que cela fonctionne réellement.
user3021729
Grep de la source ver 0.99.2 clamd / clamd.c- if (optget (opts, "AllowSupplementaryGroups") -> activé) {clamd / clamd.c- # ifdef HAVE_INITGROUPS clamd / clamd.c: if (initgroups (opt-> strarg, user-> pw_gid)) {clamd / clamd.c: fprintf (stderr, "ERREUR: initgroups () a échoué. \ n"); clamd / clamd.c- optfree (opts); clamd / clamd.c- return 1; clamd / clamd.c-} clamd / clamd.c- # else
Ding-Yi Chen
0

Je regardais autour et je n'ai trouvé aucune information sur ce que j'ai fait. 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
Klint Krossa
la source
-5

Avez-vous essayé d'entrer ceci dans le terminal:

       sudo -i
       gksu thunar

et si thunar n'est pas installé, entrez ceci dans le terminal:

        sudo apt-get install thunar 

et autorisez la lecture et l'écriture du répertoire:

       /var/lib/amavis

et c'est thunar, et cela pourrait bien fonctionner de cette façon.

Michael
la source
4
Thunar pour définir les autorisations? OMG.
AB
2
Et puis sur un serveur?
AB
Mishael, vous pouvez l'utiliser pour modifier l'autorisation lorsque l'interface graphique (gtk2 + xfce) est déjà installée comme Ubuntu desktop edition. L'OP mentionne ici l'utilisation d'Ubuntu Server. Cela signifie qu'aucune interface graphique n'est installée et que vous devez utiliser CLI / ligne de commande à la place. eq: sudo chmod -R +rw /var/lib/amavis(-R pour récursif)
user.dz
Essayez cet ulimet -i illimité, et cela pourrait bien fonctionner de cette façon.
Michael