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