Berechtigungsproblem bei ClamAV

marzl

Well-Known Member
Ein Freund hat einen Mailserver der auf FreeBSD läuft und ist gerade dabei Spamassassin und ClamAV als Milter zu integrieren. Dabei gibt es ganz seltsame Probleme, die ich mir nicht erklären kann.

Ich muss vorwegsagen das in der absolut identischen Konfiguration mein Mailserver ohne Probleme läuft.

Was wurde getan:
Code:
cd /usr/ports/security/clamav
make config (Milter AN) && make install clean
mkdir /var/mail/quarantine
chmod 700 /var/mail/quarantine
chown clamav:clamav /var/mail/quarantine

Berechtigungen von /var/run/clamav/
Code:
drwxr-xr-x  2 clamav     clamav

Berechtigung von /var/log/clamav/
Code:
drwxr-xr-x  2 clamav  clamav

Einträge ins der /etc/rc.conf
Code:
clamav_clamd_enable="YES"
clamav_freshclam_enable="YES"
clamav_milter_enable="YES"
clamav_milter_socket="/var/run/clamav/clmilter.sock"
clamav_milter_flags="--postmaster-only --local --outgoing --max-children=50 --quarantine-dir=/var/mail/quarantine --timeout=0"

In /etc/mail den Eintrag in die hostname.mc
Code:
define(`confMILTER_MACROS_CONNECT',`b, j, _, {daemon_name}, {if_name}, {if_addr}')
INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')
make all install && make stop && make start

clamd.conf und freshclamd.conf sind im Portzustand.

Normalerweise sollte die Dienste nun automatisch starten, ABER::)
ein
Code:
 /usr/local/etc/rc.d/clamav-clamd.sh start
bring in der /var/log/clamav/clamd.log die Fehlermeldung:
Code:
ERROR: Socket file /var/run/clamav/clamd could not be bound: Permission denied
Was ich wirklich absolut seltsam finde, da die Berechtigung dies eigenlicht erlauben sollten und auch identisch zu meinem Mailserver sind.

Hat hier jemand eine Idee? Was vergessen? Kann FreeBSD durch eine Einstellung das anlegen von Sockets verbieten?
Spasseshalben hab ich den Socket mal in /tmp gelegt, und das klappt es seltsamerweise.... *wunder*. chhmod 777 auf /var/run/clamav/ bringt auch nix. *grummel*

Nachtrag: Das Problem mit den Berechtigungn haben auch andere Ports (z.B. fetchmail), ich erkenne einfach keinen Grund.
 
Zuletzt bearbeitet:
Wahhh! Du hast

clamav_milter_socket="/var/run/clamav/clmilter.sock"

editiert. Und ich denk ich hab Aussetzer, weil mir beim Zitieren was anderes angezeigt wird als im Artikel ;-)

Seltsam finde ich halt auch, dass er meint, auf /var/run/clamav/clamd keinen Zugriff zu haben. Muesste das nicht besagter /var/run/clamav/clmilter.sock sein? Oder ist das was anderes?
 
/var/run/clamav/clamd ist der Socket für Clamd selber, also noch ohne Milter.
(an dem haperts schon.)
Der Rest ist denke ich das selbe Problem, bzw. Folgefehler.
/var/run/clamav/clmilter.sock ist wieder ein eigener Socket dvom Milter, auf den dann Sendmail zugreifen möchte.
 
@marzl,

Wenn Du den socket in /temp anlegen lässt: Welchem user gehört der dann???

Ich hatte ein ähnliches Problem im Zusammenspiel mit amavis, weil dort nicht der user clamav benutzt wurde.

Gruß,

Ice
 
Das ist wirklich witzig (oder doch nicht?):
Der Socket wird in /tmp als clamav:wheel angelegt., wobei die Gruppe aus /tmp übernommen wird.
 
GELÖST *vordenkopfhau*
War ja klar, das es wieder eine Pupskleinigkeit war:
Die Berechtigung des Verzeichnisses /var/run war auf 700 gesetzt gewesen. zurück auf 755 klappt es natürlich wieder......
 
Zurück
Oben