Як виправити 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.