Procmail: отказ в специальных привилегиях для "/etc/procmailrcs/default.rc"

Я пытаюсь настроить postfix, dovecot и procmail для совместной работы с виртуальными пользователями. В конце концов, я хочу иметь виртуальных пользователей и возможность добавлять правила для сортировки входящих правил. В последнем случае мне нужен procmail (правильно?).

Когда я отправляю электронное письмо на свой сервер, я не получаю его в своем Maildir и вижу это в mail.log:

Jun 17 21:01:03 cs postfix/smtpd[24811]: connect from dub0-omc2-s13.dub0.hotmail.com[157.55.1.152] Jun 17 21:01:03 cs postfix/smtpd[24811]: D8C9F44D88: client=dub0-omc2-s13.dub0.hotmail.com[157.55.1.152] Jun 17 21:01:03 cs postfix/cleanup[24816]: D8C9F44D88: message-id=<DUB115-W85D8D79486AEC1D4346693C0830@phx.gbl> Jun 17 21:01:04 cs postfix/qmgr[24806]: D8C9F44D88: from=<my-test-email>, size=1617, nrcpt=1 (queue active) Jun 17 21:01:04 cs procmail[24818]: Denying special privileges for "/etc/procmailrcs/default.rc" Jun 17 21:01:04 cs postfix/smtpd[24811]: disconnect from dub0-omc2-s13.dub0.hotmail.com[157.55.1.152] Jun 17 21:01:04 cs postfix/pipe[24817]: D8C9F44D88: to=<my-virtual-email>, relay=virtualprocmail, delay=0.18, delays=0.15/0/0/0.02, dsn=2.0.0, status=sent (delivered via virtualprocmail service) Jun 17 21:01:04 cs postfix/qmgr[24806]: D8C9F44D88: removed 

Как я могу исправить строку «Отказ от специальных привилегий»?

 camilstaps@cs:/# ls -al /etc/procmailrcs total 12 drwxr-xr-x 2 root vmail 4096 Jun 17 19:48 . drwxr-xr-x 97 root root 4096 Jun 17 19:47 .. -rw------- 1 vmail postfix 44 Jun 17 19:48 default.rc 

Вот мой /etc/postfix/master.cf :

 smtp inet n - - - - smtpd submission inet n - n - - smtpd pickup unix n - - 60 1 pickup cleanup unix n - - - 0 cleanup qmgr unix n - n 300 1 qmgr tlsmgr unix - - - 1000? 1 tlsmgr rewrite unix - - - - - trivial-rewrite bounce unix - - - - 0 bounce defer unix - - - - 0 bounce trace unix - - - - 0 bounce verify unix - - - - 1 verify flush unix n - - 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - - - - smtp relay unix - - - - - smtp showq unix n - - - - showq error unix - - - - - error retry unix - - - - - error discard unix - - - - - discard local unix - nn - - local virtual unix - nn - - virtual lmtp unix - - - - - lmtp anvil unix - - - - 1 anvil scache unix - - - - 1 scache maildrop unix - nn - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} uucp unix - nn - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) ifmail unix - nn - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - nn - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - nn - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} virtualprocmail unix - nn - - pipe flags=DRXhuq user=vmail argv=/usr/bin/procmail -m E_SENDER=$sender E_RECIPIENT=$recipient ER_USER=$user ER_DOMAIN=$domain ER_DETAIL=$extension NEXTHOP=$nexthop /etc/procmailrcs/default.rc mailman unix - nn - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} 

Я на сервере Ubuntu 13.04.

man procmail утверждает:

 Denying special privileges for "x" Procmail will not take on the identity that comes with the rcfile because a security violation was found (eg -p or variable assignments on the command line) or procmail had insufficient privileges to do so. 

В представленном случае сообщение об ошибке вызвано назначением variable assignments on the command line например, E_SENDER=$sender .

Возможные исправления:

Используйте другой «неспециальный для procmail» каталог для хранения сценария вместо / etc / procmailrcs
(Как я понимаю, магия / etc / procmailrcs в этом случае не требуется)
ИЛИ
Пропустить использование позиционных параметров в командной строке и присвоение в файле * .rc

вызов скрипта procmail:

 /usr/bin/procmail -m /etc/procmailrcs/default.rc $sender $recipient $user $domain $extension $nexthop 

скрипт procmail (начальная часть):

 # DROPRIVS - procmail magical variable, assigment causes side effects DROPPRIVS=yes E_SENDER=$1 E_RECIPIENT=$2 ER_USER=$3 ER_DOMAIN=$4 ER_DETAIL=$5 NEXTHOP=$6