AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 31822
Accepted
gharper
gharper
Asked: 2009-06-26 11:42:48 +0800 CST2009-06-26 11:42:48 +0800 CST 2009-06-26 11:42:48 +0800 CST

SpamAssassin 试图读取 /root/ 下的配置文件

  • 772

我将邮件网关服务器配置为使用此处所述的 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 并且不会引发此错误。

postfix spamassassin mailscanner
  • 6 6 个回答
  • 3448 Views

6 个回答

  • Voted
  1. Best Answer
    LapTop006
    2009-06-27T04:02:42+08:002009-06-27T04:02:42+08:00

    真正的解决方法是在 spamassassin 中禁用“per-user”配置并全局设置 Baysean DB,但一个快速的补丁是将“-H”选项添加到 sudo 以使用 postfix 的主目录,它应该有权写入为后缀。

    • 2
  2. devCU Soft
    2018-02-22T09:45:34+08:002018-02-22T09:45:34+08:00

    这不是错误,而是因为您正在使用无效用户运行 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/的快速教程

    • 2
  3. Yeak
    2009-07-27T00:18:01+08:002009-07-27T00:18:01+08:00

    这可能是一种解决方法:

    # chmod o+x /root
    # mv -f /root/.spamassassin /root/.spamassassin.err
    # ln -s /var/spool/MailScanner/spamassassin /root/.spamassassin
    # mkdir -p /var/spool/MailScanner/spamassassin
    # chown postfix.apache /var/spool/MailScanner/spamassassin
    # chmod 770 /var/spool/MailScanner/spamassassin
    
    • 1
  4. wazoox
    2009-06-26T12:00:57+08:002009-06-26T12:00:57+08:00

    你不应该改用 spamassassin 守护进程spamd吗?然后你会使用spamc命令而不是 spamassassin。基本上,从它的启动脚本运行spamd ,并从你的邮件扫描器中使用spamc。

    • 0
  5. hayalci
    2009-07-14T12:25:05+08:002009-07-14T12:25:05+08:00

    您是否尝试像这样添加 --dbpath 参数?

    sa-learn --dbpath /var/lib/amavis/.spamassassin/ ....
    
    • 0
  6. Jay M
    2016-11-25T06:44:22+08:002016-11-25T06:44:22+08:00

    原因
    原因是 spamassassin(由 sa-learn、spamc、spamd、spampd 等调用)试图从 $HOME 读取每个用户的配置文件。

    即使配置选项allow_user_rules设置为 0 也会发生这种情况(IMO 这可能是一个错误,并且已经存在了很长时间)。

    由于找不到此文件夹(由于权限),因此它会尝试创建该文件夹。

    那些在 cron 中运行 sa-learn 的人都知道这很烦人,因为即使成功运行我们也会收到一封失败的电子邮件。只需谷歌错误配置:路径“/root/.spamassassin”不可访问:权限被拒绝,看看有多少人受到影响(以及他们建议的不安全修复)。cron 唯一安全的解决方案是忽略它并将 stdout 和 stderr 管道传输到 /dev/null,但这有点极端。

    无论传递什么 -C 或 -p 或 --dbpath 选项,它都会执行此操作,因此您无法在命令行选项或全局配置中修复它。

    对我有用
    的解决方案是调用 sa-learn 并传递一个临时 $HOME 环境变量,指向运行 spamassassin 的非 root 用户可以写入的位置,在我的情况下是 /var/cache/spampd :例如

    HOME=/var/cache/spampd sa-learn --spam /var/vmail/jason/.SPAM/cur
    
    • 0

相关问题

  • 如何最小化 SpamAssassin (spamd) 内存使用

  • 我在哪里可以找到 postfix、saslauthd 和 courier 的调优资源 [关闭]

  • postfix 虚拟域是否接受通配符?

  • 什么是最好的开源电子邮件解决方案包

  • 如何使用 Postfix 将邮件中继到另一台机器?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve