作为一个拥有大量“技术挑战”用户的网站,以及系统管理员,我有责任spam
为我们大家解决这个问题。所以,SpamAssassin
我在识别垃圾邮件方面做得很好,现在只需将其移动到人们可以找到并识别垃圾邮件的目录中ham
- 正如SA
人们所说的那样!
我一直在使用IMAP
基于阅读器的阅读器,但这需要一种更系统的方法,人们SA
建议我使用 procmail,它已经闲置了很长时间,但最近被原作者 Stephen R. van den Berg 重新启用。因此,现代 procmail v 3.22 中的错误已修复,继续!(Tripleee 指出,这仍然是旧的 procmail - 新版本随“rawhide”一起推出,Fedora 38,现在正在测试中 - 我们正在使用Fedora Server 37
,1 月份更新,使用 Postfix 3.7 和 SpamAssassin 3.4 - 如果有人感兴趣的话,可以了解更多信息)。
我认为自己将成为测试对象,出于各种原因,我有不少账户,系统工作人员通常都是这样。我选择第一个账户是因为它很少收到入站邮件,所以如果出现问题,不太可能成为问题。而且,我遇到了麻烦;我得到了crickets
。
当我添加~/.procmailrc
日志条目(如下所示)时,我得到了指引我的数据,当我添加一些应该是默认环境变量定义的内容时,最值得注意的是定义MAILDIR
,它立即活跃起来!它已经工作正常了!好极了!为了帮助我后面的其他人,关键是这些设置:
USER=<the_username>
LOGFILE=/var/log/procmail.$USER
VERBOSE='yes'
LOGABSTRACT='all'
这让我找到了问题 - 问题不多,但有几个 - 然后解决了它们。虽然其他变量也有帮助,但关键的是设置MAILDIR
,直到后来我才发现,对于大多数 Fedora 系统来说,默认情况下设置是错误的。... 您只需将文件路径“硬编码”到“文件夹”,但这很有帮助:
MAILDIR=$HOME/mail
我只有一个食谱:
:0
* ^X-Spam-Status: *Yes
Spam
计划是“垃圾邮件”是“已知垃圾邮件”的存放位置,由 SA 识别,但这可能是错误的。SA 未捕获的垃圾邮件我希望用户将其放入“垃圾邮件”文件夹(注意大小写差异)以用于培训 SA。但是,我离题了。
但是当我将chown
这个简单的配置复制并重新编辑到一个更常用、更重要的帐户时,我可以看到/var/mail/maillog
它正在调用我正在使用的(也是相同内容的).forward
脚本,所以我知道procmail
(命令)被调用了。但从那里开始,没有任何东西进入配置LOGFILE
。而且,值得指出的是,这与第一个帐户发生的情况类似,我通过使用日志记录解决了这个问题(回想起来,这只是错误的MAILDIR
条目)。但在这里,日志记录并没有将任何内容输入其中!
所以,我又试了一次 - 还是一样。当然,我检查了文件权限等等... 我肯定是“忽略了什么”,但是,很明显,第一个帐户的日志写入设置得很好(并且仍然很好),所以我把重点放在了这一点上,它看起来绝对“出色” - 我会把这另外两个帐户的日志写入设置到这一步(日志记录工作正常)视为胜利!
(我甚至尝试过赋予执行权限.forward
,但之前当然不需要,现在也没有帮助!)
谢谢。
附加信息:
这可能对其他人有帮助,如果你在 /var/log 中创建一个日志文件,/var/log/procmail
并将日志环境设置为指向那里,则如果文件的权限仅为 777,则所有用户都可以使用它。未发现目录树问题。
此外,虽然 procmail 确实是从 postfix 调用的“无需额外的帮助”,但实验表明,在这个 Fedora 系统上需要 .forward 中的条目 - 至于 .forward 究竟是如何调用/读取的,我还没有时间去充分调查。
答案1
我可以想象,没有电子邮件服务器的系统会更容易发现这个问题,因为邮件服务器的日志中添加新行的速度就像“瀑布”一样快;因为我们系统的日志记录率通常每秒超过 100 行(有时高得多),如果你没有要搜索的东西——通过tail -f /var/log/maillog | grep "some search text"
——你就找不到任何东西。
但是,我尝试了一下,有一个可用的帐户。然后,我找到了一个procmail[7965]: Suspicious rcfile
条目。好吧,有东西可以咬一口!
Pursuit 没有显示任何明显错误,但是,父目录正确地具有与用户名不同的组条目 - 由于非常合理的原因而不同。如果不进行大量调查,更改组将产生不可知的后果。
所有常见的建议都不适用,例如chmod 0640
,因此,我进行了更深的挖掘。
我发现了这条消息躲在某处:
如果出现以下情况,Procmail 通常会出现此错误:[...] 该目录既是全球可写的,又是全球可执行的,但不是“粘性”(模式 +t)。
因此,只需chmod +t
在父目录上进行简单操作即可!