postfix – Procmail配方,root拥有的邮件

前端之家收集整理的这篇文章主要介绍了postfix – Procmail配方,root拥有的邮件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Postfix和Procmail的组合来处理我的一台服务器上的入站电子邮件.每个用户都有一个本地帐户,我已经成功使用下面的/usr/local / etc / procmailrc多年: @H_502_2@DEFAULT=$HOME/mail/ LOGFILE=/var/log/procmail

我最近添加了一个配方,将标记垃圾邮件邮件定向到一个单独的文件夹:

@H_502_2@:0 * ^X-Spam-Flag: YES $HOME/mail/.Junk/

但是,在某些情况下,进入此文件夹的消息似乎归root而不是正确的用户所有.我从未在收件箱中遇到此问题,而且它似乎只影响某些用户.

我设法在ps中捕获了一个Procmail进程,它似乎确实以正确的用户身份运行. (此用户在Junk文件夹中也有root拥有的邮件)

@H_502_2@# ps axu | grep procmail {correct-local-username} 7402 0.0 0.2 12140 1780 ?? Ss 11:37AM 0:00.01 /usr/local/bin/procmail -a

有没有人知道为什么配方处理的消息最终由root拥有,而进入默认文件夹的消息将获得正确的所有者?

有什么我可以做的(即使它是hacky,如从procmail配方调用chown),以确保消息始终由正确的用户拥有?

如果它很重要,Procmail在Postix中配置如下:

@H_502_2@mailBox_command = /usr/local/bin/procmail -a "$EXTENSION"

解决方法

检查垃圾文件夹的权限是否正确,但是您是否还可以将以下内容添加到procmail.cf中: @H_502_2@DROPPRIVS=yes

我不是procmail的专家,但根据this man entry,它应该放弃procmail所拥有的任何权利,并且收件人不会(强调我的).

@H_502_2@DROPPRIVS If set to `yes' procmail will drop all privileges it might have had (suid or sgid). This is only useful if you want to guarantee that the bottom half of the /etc/procmailrc file is executed on behalf of the recipient.

关键部分;代表收件人执行.

解释为什么这适用于用户@Tripleee:

The DEFAULT delivery happens after an implicit DROPPRIVS,but if you explicitly deliver something while in privileged mode,you also need to explicitly drop your privileges.

猜你在找的Linux相关文章