[Postfixbuch-users] SpamAssassin auf Server trainieren?
Sven 'Rae the Git' Grounsell
sven at tuxhilfe.de
Do Sep 23 18:12:59 CEST 2004
Heiner Lamprecht <heiner at heiner-lamprecht.net> wrote:
> Hallo zusammen,
>
> ich habe hier eine Kombination aus Postfix, amavisd-new,
> Spamassassin und Cyrus IMAP am Laufen. Die User haben keinerlei
> Shellzugriff und demnach auch kein $HOME.
>
> Nun möchte ich aber gerne den Usern die Möglichkeit geben, entweder
> für sie privat, oder ggf. für alle den Spamassassin zu trainieren.
> Was wäre Eurer Meinung nach der geschickteste Weg dafür?
Ich habe auf meinem privaten (!) Mailserver die "fuer alle"-Loesung:
Zugriff erfolgt fuer die User per Courier-IMAP. Jeder User hat die
Moeglichkeit, einen Unterordner namens "spam" zu erstellen und dort
alle False Negatives (-> nicht erkannter SPAM) abzulegen.
Ein CronJob fuehrt dann (aufgrund begrenzter Ressourcen, die tagsueber
dringend benoetigt werden) nachts folgendes Script aus:
#------------------------------------------------------------#
#!/bin/sh
# Verzeichnis-Struktur der IMAP-Accounts:
# /usr/local/virtual/user at domain.tld/.unterordner/cur/
# Pfadmaske fuer die SPAM-Verzeichnisse
SPAM_FND_PATH="/usr/local/virtual/*/.spam/cur/"
# Finde heraus, in wessen SPAM_Verzeichnis es tatsaechlich etwas zu
# tun gibt und extrahiere den/die Pfad/e
SPAM_DIRS=`find $SPAM_FND_PATH -type f -exec dirname {} \; | uniq`
# Jage sa-learn ueber jedes Verzeichnis und loesche nach Beendigung
# den erlernten Inhalt
for DIR in $SPAM_DIRS; do
DIR="${DIR}/"
sa-learn --spam $DIR && rm -f ${DIR}*
done
#------------------------------------------------------------#
(Das geht mit Sicherheit eleganter, aber es funktioniert ;o))
Mit ein paar kleinen Anpassungen kann man damit auch per-User die
BayesDB pflegen.
Gruss,
Sven
--
http://www.tuxhilfe.de/
sven at tuxhilfe dot de
Mehr Informationen über die Mailingliste Postfixbuch-users