加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 02:54:54 所属栏目:Linux 来源:网络整理
导读:我正在使用Postfix和Procmail的组合来处理我的一台服务器上的入站电子邮件.每个用户都有一个本地帐户,我已经成功使用下面的/usr/local / etc / procmailrc多年: DEFAULT=$HOME/mail/LOGFILE=/var/log/procmail 我最近添加了一个配方,将标记为垃圾邮件的邮件
我正在使用Postfix和Procmail的组合来处理我的一台服务器上的入站电子邮件.每个用户都有一个本地帐户,我已经成功使用下面的/usr/local / etc / procmailrc多年:
DEFAULT=$HOME/mail/
LOGFILE=/var/log/procmail

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

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

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

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

# 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中配置如下:

mailbox_command = /usr/local/bin/procmail -a "$EXTENSION"

解决方法

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

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

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读