Як виправити amvavis, повідомляючи про "дозвіл відмовлено" для clamav


12

Нещодавно я помітив розчаровуючий ніггель ... Під час обробки електронної пошти сервер Ubuntu (із усіма застосованими оновленнями) повідомляє про "дозвіл відхилено" при спробі сканування вкладень на віруси.

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

Коли я переглядаю ці каталоги, я бачу таке:

$ 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

Я переконався, що користувач clamd є членом групи amavisd - але це нічого не виправило. Хтось може сказати мені конкретно, який компонент хоче, які дозволи - і ... в ідеалі ... що робити, щоб виправити це?

Уточнення : я не шукаю пояснень основ дозволів. Я шукаю рішення, відповідне цій конкретній проблемі - яке, на перший погляд, принаймні, виглядає так, ніби компонент пакету amavis (можливо, затиснутий) використовує неправильне значення umask. Звичайно, ця помилка могла виникнути в результаті ряду помилок або збоїв у конфігурації. Я конкретно шукаю найбільш прийнятне рішення для цього випадку ... де встановлення "vanilla" amavis / clamav не вдається отримати доступ до вмісту тимчасових папок, які він створює, як / коли потрібно сканувати вхідну електронну пошту.

Я віддаю собі звіт в цьому цих (не Ubuntu) питання. Відповідь Redhat / Centos не вирішує проблему, яку я відчуваю з Ubuntu.

Ця проблема виникає на "Ubuntu 14.04.2 LTS" - оновлення не очікує.


У групи amavisнемає дозволів на написання записів /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/і/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts
— AB

Спробуйте цеchmod -R g+w /var/lib/amavis/tmp
— AB

Проблема не в тому, що я не можу змінити дозволи дозволу групового запису в каталоги ... Проблема полягає в тому, що я не знаю, як забезпечити, щоб каталоги, створені в / var / lib / amavis / tmp / - in майбутнє - створіть правильні дозволи. Здається, цей каталог знаходиться там, де amavis розширює повідомлення для огляду вкладень. Значення за замовчуванням працювали ... зараз, після деяких оновлень, це не відбувається.
— aSteve

Тоді попрацюйте над своїм запитанням.
— AB

Відповіді:


13

Робоче рішення - змінити

ДозволитиSupplementarGroups false -> true

в /etc/clamav/clamd.conf

перезапустити clamav-демон


2
Ось це і вирішило це для мене (я на Debian Jessie). Додавання clamav до групи amavis не вирішило це.
— chmike

2
Ця AllowSupplementaryGroupsопція була скасована в останніх версіях clamav (0.99.2+, 2 червня 2016 року у висхідному напрямку).
— Даніель Веріте

1
+1 Це спрацювало. Затверджена відповідь нижче НЕ. Якби ви переглядали сторінку вікі Ubuntu AmavisNew (сподіваємось), ви б уже додали amavis / clamav як додаткові групи один до одного. Схвалена відповідь нічого не робить, але повторити це - і не працює. Я запускаю pkgs за замовчуванням 16.04.1 LTS. ref: help.ubuntu.com/community/PostfixAmavisNew
— bshea


Підтверджено: вирішена проблема і для мене, Ubuntu LTS 16.04.1

6

Поки clamdкористувач був членом amavisгрупи, clamdпроцес виконувався як clamav(не clamd) користувач.

Додавання clamavдо amavisгрупи вирішило питання.


2

Оскільки AllowSupplementaryGroupsвже не існує, я закінчив додаванням кожного користувача до іншої групи, наприклад:

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

(і перезавантажте все просто для впевненості)

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

З цим не потрібно змінювати дозвіл на папку /var/lib/amavis/tmp(і я не впевнений, що ці дозволи будуть залишені, як і в наступному оновлення apt-get ...)


Pkg 16.04.1 за замовчуванням має директиву AllowSupplementaryGroupsв main config. Ви публікуєте оманливу інформацію. Якщо директива не існує в нових версіях - то чому для вас додавання додаткових груп до кожного облікового запису? В КОНФІГІ 16.04.1, оскільки він більше не використовується? Хм. Покажіть мені доказ. BTW, перемикаючи цю "ПРАВИЛЬНУ", змусив роботу 16.04.1. ref: help.ubuntu.com/community/PostfixAmavisNew#Troubleshooting
— bshea

Це неправда, що AllowSupplementarGroups не існує. І більше того, що ви повинні встановити його на істинне, щоб насправді змусити його працювати.
— користувач3021729

Отримати вихід з версії 0.99.2 clamd / clamd.c- if (optget (опц., "ДозволитиSupplementarGroups") -> увімкнено) {clamd / clamd.c- # ifdef HAVE_INITGROUPS clamd / clamd.c: if (initgroups (opt-> strarg, user-> pw_gid)) {clamd / clamd.c: fprintf (stderr, "ПОМИЛКА: initgroups () не вдалося. \ n"); clamd / clamd.c- optfree (опц); clamd / clamd.c- повернути 1; clamd / clamd.c-} clamd / clamd.c- # else
— Ding-Yi Chen

0

Я озирався і не знайшов жодної інформації про те, що я робив. Спочатку я відімкнув диску, про який йде мова, потім відремонтував привід.

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

-5

Ви спробували ввести це в терміналі:

       sudo -i
       gksu thunar

і якщо тунар не встановлений, введіть це в термінал:

        sudo apt-get install thunar 

і зробити дозвіл на читання та запис для каталогу:

       /var/lib/amavis

і це нітрохи не буде, і це може спрацювати нормально.


4
Тунар для встановлення дозволів? О БОЖЕ МІЙ.
— AB

2
А потім на сервері?
— AB

Мішель, ви можете використовувати це для зміни дозволу, коли у вас вже встановлений графічний інтерфейс (gtk2 + xfce), наприклад Ubuntu для настільних версій. ОП тут згадувало про використання Ubuntu Server. Це означає, що не встановлено графічного інтерфейсу, і вам доведеться використовувати CLI / командний рядок замість цього. eq: sudo chmod -R +rw /var/lib/amavis(-R для рекурсивного)
— user.dz

Спробуйте цей улімет - я без обмежень, і це може спрацювати нормально таким чином.
— Майкл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.