Postfix and Spamassassin 
apt-get install spamassassin spamc re2c make gcc libc6-dev

I want to run spamassassin as non root user.
groupadd -g 3000 spamd
useradd -u 3000 -g spamd -s /bin/false -d /var/lib/spamassassin spamd
mkdir /var/lib/spamassassin
chown spamd:spamd /var/lib/spamassassin
/etc/default/spamassassin:
ENABLED=1
OPTIONS="--create-prefs --max-children=5 --ipv4-only --username spamd \
--helper-home-dir /var/lib/spamassassin -s /var/log/spamd.log"
PIDFILE="/var/run/spamd.pid"
CRON=1
/etc/logrotate.d/spamassassin:
/var/log/spamd.log {
rotate 5
daily
compress
copytruncate
missingok
}
/etc/spamassassin/local.cf:
report_safe 0
lock_method flock
required_score 5.0
use_bayes 1
bayes_auto_learn 1
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
in /etc/spamassassin/v310.pre disabled Pyzor, Razor2 and SpamCop
in /etc/spamassassin/v320.pre enabled loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody

/etc/postfix/master.cf:
cyrus unix - n n - - pipe flags=R user=cyrus argv=/usr/bin/spamc -f -u spamd \
-e /usr/sbin/cyrdeliver -f ${sender} -m ${extension} ${user}
i want to use a compiled ruleset for spamassassin
#> sa-update
#> su spamd -s /bin/sh -c sa-compile
#> invoke-rc.d spamassassin reload

users should be able to tell the mailserver what mails a spam or ham.
i created public mailboxes where uses can move sam or ham mails into:
sudo cyradm --user cyrus --server localhost
cm user.spam
sam user.spam anyone p
sam user.spam admin all
cm user.nospam
sam user.nospam anyone p
sam user.nospam admin all
Two cronjobs monitors these folders and let spamassassin learn.
/etc/cron.d/spam-learn:
*/5 * * * * root for n in /var/spool/cyrus/mail/s/user/spam/*\.; \
do [ -f "$n" ] && /usr/bin/sa-learn --dbpath /var/lib/spamassassin/.spamassassin \
--spam $n && rm -f $n && su cyrus -c "/usr/sbin/cyrreconstruct user.spam"; done
/etc/cron.d/nospam-learn:
*/5 * * * * root for n in /var/spool/cyrus/mail/n/user/nospam/*\.; \
do [ -f "$n" ] && /usr/bin/sa-learn --dbpath /var/lib/spamassassin/.spamassassin \
--ham $n && rm -f $n && su cyrus -c "/usr/sbin/cyrreconstruct user.nospam"; done
Spamassassin marks mail-headers with X-Spam-Status. According to this users can create an own spam folder and with a sieve filter automatically move them to this folder if X-Spam-Status is Yes.

Because we are running as spamd

/etc/cron.daily/spamassassin
-sa-compile > /dev/null 2>&1
+su spamd -s /bin/sh -c sa-compile > /dev/null 2>&1


[ view entry ] ( 1055 views )   |  print article

<<First <Back | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Next> Last>>