Postfix

SpamAssassin 試圖讀取 /root/ 下的配置文件

  • February 21, 2018

我將郵件網關伺服器配置為使用此處所述的 MailScanner + Postfix + SpamAssassin,並將MailWatch作為 Web 前端。

從 MailWatch 執行 sa-learn 時(它以 postfix 使用者身份執行),它會拋出以下錯誤:

SA Learn: config: path "/root/.spamassassin" is inaccessible: Permission denied, Learned tokens from 0 message(s) (1 message(s) examined)

執行“sudo -u postfix spamassassin –lint -D”會提供以下資訊:

dbg: config: read file /etc/mail/spamassassin/mailscanner.cf
warn: config: path "/root/.spamassassin" is inaccessible: Permission denied
dbg: config: mkdir /root/.spamassassin failed: mkdir /root/.spamassassin: Permission denied at /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin.pm line 1577
dbg: config: Permission denied
dbg: config: using "/etc/MailScanner/spam.assassin.prefs.conf" for user prefs file

貝氏令牌已正確學習,但是此錯誤是一個小麻煩,我想修復它…通過強制 SpamAssassin 不檢查 /root/.spamassassin/ 目錄中的配置和首選項,或修復 MailWatch因此它正確呼叫 sa-learn 並且不會引發此錯誤。

真正的解決方法是在 spamassassin 中禁用“per-user”配置並全域設置 Baysean DB,但一個快速的更新檔是將“-H”選項添加到 sudo 以使用 postfix 的主目錄,它應該有權寫入為後綴。

這不是錯誤,而是因為您正在使用無效使用者執行 sa-learn 命令。例如,我的設置使用標準的 debian-spamd 使用者。

# sa-learn -u debian-spamd --dbpath /var/lib/spamassassin/.spamassassin/bayes --dump magic
0.000          0          3          0  non-token data: bayes db version
0.000          0         84          0  non-token data: nspam
0.000          0       6565          0  non-token data: nham
0.000          0      15128          0  non-token data: ntokens
0.000          0 1510837441          0  non-token data: oldest atime
0.000          0 1519232775          0  non-token data: newest atime
0.000          0          0          0  non-token data: last journal sync atime
0.000          0          0          0  non-token data: last expiry atime
0.000          0          0          0  non-token data: last expire atime delta
0.000          0          0          0  non-token data: last expire reduction count

對於帳戶

# sa-learn --ham -u debian-spamd --showdots --dir /var/vmail/mydomain.com/support/cur/*
.
Learned tokens from 1 message(s) (1 message(s) examined)

我在伺服器上有 20 個電子郵件帳戶和 crons 來匹配火腿和垃圾郵件,而從來沒有錯誤。確保您的設置和使用者:組在相關文件/目錄上正確。

連結到有關如何修復 https://www.devcu.com/forums/topic/745-spamassassin-is-inaccessible-permission-denied/的快速教程

引用自:https://serverfault.com/questions/31822