Jak naprawić zgłoszenie Amvavisa „odmowa dostępu” dla clamav

12

Niedawno zauważyłem frustrujący problem… Podczas przetwarzania wiadomości e-mail serwer Ubuntu (ze wszystkimi zastosowanymi aktualizacjami) zgłasza komunikat „Odmowa zezwolenia” podczas próby skanowania załączników w poszukiwaniu wirusów.

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

Kiedy patrzę na katalogi, o których mowa, widzę to:

$ 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

Upewniłem się, że użytkownik clamd jest członkiem grupy amavisd - ale to niczego nie naprawiło. Czy ktoś może mi w szczególności powiedzieć, który składnik chce jakich uprawnień - i ... idealnie ... co zrobić, aby to naprawić?

Wyjaśnienie : Nie szukam wyjaśnienia podstaw uprawnień. Szukam rozwiązania odpowiedniego dla tego konkretnego problemu - który przynajmniej na pierwszy rzut oka wygląda tak, jakby składnik pakietu amavis (być może clamd) używa niewłaściwej wartości umask. Oczywiście ta usterka mogła powstać w wyniku szeregu błędów lub usterek konfiguracji. Szukam konkretnie najbardziej odpowiedniej rozdzielczości dla tego przypadku ... gdzie instalacja „waniliowego” systemu amavis / clamav nie uzyskuje dostępu do zawartości folderów tymczasowych, które tworzy jako / kiedy jest to wymagane do skanowania poczty przychodzącej.

Mam świadomość tego podobnego (nie Ubuntu) pytania. Odpowiedź Redhat / Centos nie rozwiązuje problemu występującego w systemie Ubuntu.

Ten problem występuje w „Ubuntu 14.04.2 LTS” - nie ma żadnych oczekujących aktualizacji.

aSteve
źródło
Grupa amavisnie ma uprawnień do zapisu /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/i/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts
AB
Spróbuj tegochmod -R g+w /var/lib/amavis/tmp
AB
Problemem nie jest to, że nie mogę zmienić uprawnień, aby zezwolić na grupowe zapisywanie w katalogach ... Problem polega na tym, że nie wiem, jak upewnić się, że katalogi utworzone w / var / lib / amavis / tmp / - in przyszłość - twórz z odpowiednimi uprawnieniami. Wydaje się, że w tym katalogu amavis rozwija wiadomości w celu sprawdzenia załączników. Domyślne działały ... teraz, po kilku aktualizacjach, nie działa.
aSteve,
Następnie pracuj nad swoim pytaniem.
AB

Odpowiedzi:

13

Działającym rozwiązaniem jest zmiana

AllowSupplementaryGroups false -> true

w /etc/clamav/clamd.conf

uruchom ponownie clamav-daemon

wojna
źródło
2
Właśnie to dla mnie rozwiązało (jestem na Debianie Jessie). Dodanie clamav do grupy amavis nie rozwiązało tego.
chmike
2
AllowSupplementaryGroupsOpcja spadło w ostatnich wersjach ClamAV (0.99.2+, cze 2, 2016 w górę).
Daniel Vérité
1
+1 To zadziałało. Zatwierdzona odpowiedź poniżej NIE. Gdybyś śledził stronę wiki Ubuntu AmavisNew (mam nadzieję), już dodałbyś amavis / clamav jako grupy uzupełniające się nawzajem. Zatwierdzona odpowiedź jedynie powtarza to - i nie działa. Używam domyślnych pkgs na 16.04.1 LTS. ref: help.ubuntu.com/community/PostfixAmavisNew
bshea
W szczególności: help.ubuntu.com/community/PostfixAmavisNew#Trou
Rozwiązywanie
Potwierdzono: naprawiono problem również dla mnie, Ubuntu LTS 16.04.1
6

Gdy clamdużytkownik był członkiem amavisgrupy, clamdproces działał jako clamav(nie clamd) użytkownik.

Dodanie clamavdo amavisgrupy rozwiązało problem.

aSteve
źródło
2

Ponieważ AllowSupplementaryGroupsjuż nie istnieje, zakończyłem dodawanie każdego użytkownika do innej grupy, w ten sposób:

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

(i ponownie uruchom wszystko, aby się upewnić)

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

Dzięki temu nie trzeba zmieniać uprawnień do folderów /var/lib/amavis/tmp(i nie jestem pewien, czy uprawnienia te zostaną pozostawione, tak jak w przypadku następnej aktualizacji apt-get ...)

Najgorszy
źródło
Domyślny pkg w 16.04.1 ma dyrektywę AllowSupplementaryGroupsw głównej konfiguracji. Zamieszczasz wprowadzające w błąd informacje. Jeśli dyrektywa nie istnieje w nowszych wersjach - dlaczego dodawanie grup dodatkowych do każdego konta działa dla Ciebie? JEST WCIĄŻ W KONFIGURACJI 16.04.1, ponieważ nie jest już używana? Hmm Pokaż mi dowód. BTW przełączając to „PRAWDA” sprawiło, że wszystko działało 16.04.1. ref: help.ubuntu.com/community/PostfixAmavisNew#Trou
Rozwiązywanie
To nieprawda, że ​​AllowSupplementaryGroups nie istnieje. Co więcej, musisz ustawić wartość true, aby faktycznie działała.
user3021729,
Grep ze źródła wer. 0.99.2 clamd / clamd.c- if (optget (opts, „AllowSupplementaryGroups”) -> włączone) {clamd / clamd.c- # ifdef HAVE_INITGROUPS clamd / clamd.c: if (initgroups (opt-> strarg, user-> pw_gid)) {clamd / clamd.c: fprintf (stderr, „ERROR: initgroups () failed. \ n”); clamd / clamd.c- optfree (opts); clamd / clamd.c - return 1; clamd / clamd.c-} clamd / clamd.c- # else
Ding-Yi Chen
0

Rozglądałem się i nie znalazłem żadnych informacji na temat tego, co zrobiłem. Najpierw odmontowałem dysk, a następnie ponownie go zamontowałem.

ls -l /dev
sudo umount /dev/sdd4
sudo mkdir /mnt
sudo mount /dev/sdd4 /mnt
Klint Krossa
źródło
-5

Czy próbowałeś wpisać to w terminalu:

       sudo -i
       gksu thunar

a jeśli thunar nie jest zainstalowany, wpisz to w terminalu:

        sudo apt-get install thunar 

i zezwól na odczyt i zapis dla katalogu:

       /var/lib/amavis

i to jest odrobina Thunara, i może tak działać dobrze.

Michael
źródło
4
Thunar ustawić uprawnienia? O MÓJ BOŻE.
AB
2
A potem na serwerze?
AB
Mishael, możesz użyć tego do zmiany uprawnień, gdy masz już GUI (gtk2 + xfce), tak jak Ubuntu. OP wspomniał tutaj o użyciu Ubuntu Server. Oznacza to, że nie zainstalowano GUI i zamiast tego należy użyć wiersza polecenia / wiersza polecenia. eq: sudo chmod -R +rw /var/lib/amavis(-R dla rekurencyjnego)
user.dz
Spróbuj tego ulimet -i nieograniczony, a może działać dobrze w ten sposób.
Michael