0

示例 procmailrc:

SHELL=/bin/bash
LOGFILE=$HOME/procmail.log
VERBOSE=yes

:0
* ^Subject: envdump please$
{
        LOG="`id`"
            :0
            /dev/null
}

/etc/group 文件包含(注意其他用户名是徒劳的尝试使这项工作):

someuser:x:504:
s3:x:505:someuser,someotheruser,postfix,postdrop,mail,root

如果我以“someuser”身份运行命令id

[someuser@lixyz-pqr ~]$ id
uid=504(someuser) gid=504(someuser) groups=504(someuser),505(s3)

但是,当我通过发送主题为“请使用 envdump”的电子邮件来运行 procmail 时,505/s3 组消失了(位于 procmail.log 中):

procmail: [17618] Mon Dec 19 17:39:50 2011
procmail: Match on "^Subject: envdump please$"
procmail: Executing "id"
procmail: Assigning "LOG=uid=504(someuser) gid=504(someuser) groups=504(someuser)"
uid=504(someuser) gid=504(someuser) groups=504(someuser)procmail: Assigning "LASTFOLDER=/dev/null"

此服务器正在运行带有 Postfix 2.7.5 的 Fedora 14

4

1 回答 1

1

Procmail 未安装 setuid。

对于背景,它应该如下所示:

[root@li321-238 postfix]# ls -l /usr/bin/procmail 
-rwsr-sr-x. 1 root mail 92816 Jul 28  2009 /usr/bin/procmail

您可以通过以下方式设置:

chmod ug+s /usr/bin/procmail
于 2011-12-20T20:34:36.923 回答