Spamfilter lernt nicht

Sven Gehr mailingliste at dreampixel.de
Die Mai 31 18:33:06 CEST 2011


Am Dienstag, 31. Mai 2011, 09:24:38 schrieb L. Diel:

ich denke ich komme der Sache näher. 

> und in der deutschen Doku ab Seite 45
> http://kolab.org/doc/Allgemeine-Betriebsdokumentation-
> KolabServer22_20080103_1.0.pdf

Danach bin ich eigentlich vorgegangen. Ich habe nach der Installation einen 
Shared-Folder im Admin-Interface mit dem Namen 'mailpool' angelegt. Darin 
befindet sich die gesamte Mailablage die für alle Benutzer zugänglich ist 
(Kunden, Lieferanten .....) hier habe ich den Ordner Spam mit den beiden 
Unterordnern noSPAM und SPAM angelegt. Diese sollen wie folgt benutzt werden.

In den übergeordneten Ordner 'Spam' sollen per Filterscript alle Mails laufen 
die vom Spamfilter erkannt werden und im Betreff mit ***SPAM*** markiert 
werden. Das funktioniert noch nicht da bei mir die Filter nicht arbeiten.

die beiden Unterordner sollen zum trainieren des Spamfilters sein. Hier 
schieben die Benutzer eben die nicht oder die falsch erkannten Mails rein und 
ein Cronjob der jede Stunde ausgeführt wird startet das sa-learn-Skript.

Im Handbuch steht:

0 * * * * kolab-r /kolab/bin/sa-learn
--dbpath /kolab/var/amavisd/.spamassassin
--spam /kolab/var/imapd/spool/domain/e/example.com/s/user/spam/spam
--ham /kolab/var/imapd/spool/domain/e/example.com/s/user/spam/nospam

als Eintrag in die Crontab aber so eingetragen (Umbrüche entfernt und Pfad 
angepasst) ist überhaupt nichts passiert. Nachdem ich in die Datei 
/root/crontab.txt den Eintrag:

 # m h  dom mon dow   command
0 * * * * /kolab/bin/sa-learn 
--dbpath /kolab/var/amavisd/.spamassassin 
--spam /kolab/var/imapd/spool/domain/g/gehr-edv.de/s/shared^mailpool/Spam/SPAM 
--ham /kolab/var/imapd/spool/domain/g/gehr-
edv.de/s/shared^mailpool/Spam/noSPAM/

(ebenfalls ohne Umbrüche) wurde das Skript zumindest ausgeführt. Dies habe ich 
dadurch überprüft dass ich kurz nach der vollen Stunde den Befehl von Hand 
aufgerufen habe ohne das neue Mails in die Ordner verschoben wurden. Die 
Ausgabe zeigt in diesem Fall dass keine neuen Mails zum lernen herangezogen 
wurden.

Muss ich den User 'kolab-r' hier mit angeben und wie mache ich es dass es 
funktioniert?


> Hier findest Du einen Artikel: Fighting spam
> http://wiki.kolab.org/index.php/Fighting_spam

In diesem Artikel steht es ja etwas anders drin.

Rufe ich das Ganze wie folgt auf:

su kolab-r
/kolab/bin/sa-learn --dbpath /kolab/var/amavisd/.spamassassin --spam 
/kolab/var/imapd/spool/domain/g/gehr-edv.de/s/shared^mailpool/Spam/SPAM

erhalte ich die Fehlermeldung:

bayes: cannot open bayes databases /kolab/var/amavisd/.spamassassin/bayes_* 
R/O: tie failed: Keine Berechtigung
bayes: cannot open bayes databases /kolab/var/amavisd/.spamassassin/bayes_* 
R/W: tie failed: Keine Berechtigung
bayes: cannot open bayes databases /kolab/var/amavisd/.spamassassin/bayes_* 
R/W: tie failed: Keine Berechtigung
Learned tokens from 0 message(s) (1 message(s) examined)
ERROR: the Bayes learn function returned an error, please re-run with -D for 
more information

ich vermute mal das liegt daran das mein Cronjob als root ausgeführt wird und 
demzufolge auch die Datenbank von root geschrieben wird. Dann hat der User 
kolab-r hier wohl keine Berechtigung.

Wie kann ich das Problem lösen?


-- 
Viele Grüße

Sven Gehr
77815 Bühl

Mailclient: Linux / KDE-Kontact
Linux-User-Nr: #368994