早上把 postfix 重新整理了一下,順便升級了。下午再跟阿滑討論的情況下把 openwebmail 裡面的那個 SA 設定值弄成能動了。
大致上的問題有幾個,postfix 的 master.cf 裡邊,對於 postfixfilter 的原來設定:
postfixfilter unix - n n - - pipe flags=Rq user=nobody
argv=/usr/local/bin/spamc -d 127.0.0.1 -f -p 783 -t 30 -e /usr/local/sbin/sendmail -i -f ${sender} -- ${recipient}
要改成
postfixfilter unix - n n - - pipe flags=Rq user=nobody
argv=/usr/local/bin/spamc -d 127.0.0.1 -f -p 783 -t 30 -u ${user} -e /usr/local/sbin/sendmail -i -f ${sender} -- ${recipient}
這邊要傳入 uid ,然後在 spamd 的部分,問題是出在啟動的 flag 上:
原本是:
#spamd_flags="-d -L -m 32 -r /var/run/spamd.pid -u nobody -V /usr/local/etc/spamassassin --user-config"
我猜可能是之前升級 perl 的時候用 portupgrade -f 'p5*' 有自動升到 spamassassin ,不然不應該會有問題。升上新版後的 flag 必須弄成:
root 85135 0.0 3.1 21476 20344 ?? Is 6:46下午 0:02.09 /usr/local/bin/spamd -c -d -r /var/run/spamd.pid (suidperl)
不能夠加 -x or --user-config ,跟文件不太一樣...不過兩份文件前後寫的不太一致,應該後面的比較新, -x == --no-user-config 。所以
Apr 8 23:40:58 soul spamd[85136]: Creating default_prefs [/home/scout/55th/alin6345/.spamassassin/user_prefs]
Apr 8 23:40:58 soul spamd[85136]: Cannot write to /home/scout/55th/alin6345/.spamassassin/user_prefs: No such file or directory
Apr 8 23:40:58 soul spamd[85136]: Couldn't create readable default_prefs for [/home/scout/55th/alin6345/.spamassassin/user_prefs]
Apr 8 23:40:58 soul spamd[85136]: processing message for alin6345:1033.
Apr 8 23:41:06 soul spamd[85136]: clean message (6.9/7.5) for alin6345:1033 in 8.2 seconds, 49482 bytes.
他就會正常動作了, openwebmail 裡面設的 spamassassin rule 也能正確的使用。不過有個問題比較大的一點,能不能讓沒有 user_prefs 的傢伙自動去吃 default setting 啊?