~Gh05t~
03.11.06, 12:34
Hallo zusammen,
ich habe einen Mailserver (SLES 9) mit Postfix und Spamassassin. Die Mailboxes sind in /var/mail/<user>, außerdem hat jeder User noch in seinem Homeverzeichnis einen Ordner "mail/" mit eigenen Mailboxen (Trash, Sent, Drafts, Spam).
Spamassassin arbeitet soweit, leider filtert er ein bisschen wenig.
Also will ich Spamassassin mit sa-learn ein wenig mehr lernen lassen.
Meine Vorstellung ist folgende:
Jeder User bekommt eine weitere mailbox (z.B. '/home/<user>/mail/Learnspam') in die er (z.B. via IMAP) mails schieben kann, die er als Spam erkannt hat.
Ein Cron-Script soll diese Mailboxen dann durchgehen, den Inhalt zur Globalen Spam-Datenbank hinzufügen und anschließend löschen.
Dazu habe ich mir folgendes Script geschrieben:
#!/bin/sh
for user in $(/bin/ls -A /home);
do
MBOX=/home/$user/mail/Learnspam
if [ -f $MBOX ];
then
/usr/bin/sa-learn --spam --mbox $MBOX
/bin/rm $MBOX
/bin/touch $MBOX
/bin/chown $user.users $MBOX
/bin/chmod 0600 $MBOX
fi
done
Nun legt sa-learn aber ein verzeichnis /root/.spamassassin mit den dateien 'bayes_seen' und 'bayes_token' an.
Scheint also als würde das Gelernte für den User root gespeichert.
Normalerweise werden diese Informationen aber aus /home/spamfilter/.spamasassin geholt, da spamassassin mit dem User 'spamfilter' von Postfix ausgeführt wird. Dieser hat jedoch keine Berechtigung auf die User-Mailboxes zuzugreifen, deshalb kann ich mein cron-script nicht mit diesem User ausführen.
Jemand ne Idee?
Vielen Dank schon mal.
ich habe einen Mailserver (SLES 9) mit Postfix und Spamassassin. Die Mailboxes sind in /var/mail/<user>, außerdem hat jeder User noch in seinem Homeverzeichnis einen Ordner "mail/" mit eigenen Mailboxen (Trash, Sent, Drafts, Spam).
Spamassassin arbeitet soweit, leider filtert er ein bisschen wenig.
Also will ich Spamassassin mit sa-learn ein wenig mehr lernen lassen.
Meine Vorstellung ist folgende:
Jeder User bekommt eine weitere mailbox (z.B. '/home/<user>/mail/Learnspam') in die er (z.B. via IMAP) mails schieben kann, die er als Spam erkannt hat.
Ein Cron-Script soll diese Mailboxen dann durchgehen, den Inhalt zur Globalen Spam-Datenbank hinzufügen und anschließend löschen.
Dazu habe ich mir folgendes Script geschrieben:
#!/bin/sh
for user in $(/bin/ls -A /home);
do
MBOX=/home/$user/mail/Learnspam
if [ -f $MBOX ];
then
/usr/bin/sa-learn --spam --mbox $MBOX
/bin/rm $MBOX
/bin/touch $MBOX
/bin/chown $user.users $MBOX
/bin/chmod 0600 $MBOX
fi
done
Nun legt sa-learn aber ein verzeichnis /root/.spamassassin mit den dateien 'bayes_seen' und 'bayes_token' an.
Scheint also als würde das Gelernte für den User root gespeichert.
Normalerweise werden diese Informationen aber aus /home/spamfilter/.spamasassin geholt, da spamassassin mit dem User 'spamfilter' von Postfix ausgeführt wird. Dieser hat jedoch keine Berechtigung auf die User-Mailboxes zuzugreifen, deshalb kann ich mein cron-script nicht mit diesem User ausführen.
Jemand ne Idee?
Vielen Dank schon mal.