$ uname -a
Linux xxxx 4.9.0-4-AMD64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux
$ cat /etc/aliases
# See man 5 aliases for format
postmaster: root
root: [email protected]
誰も受信していないメール。
$ Sudo mail -f /var/spool/mail/nobody
"/var/spool/mail/nobody": 23 messages 1 new 19 unread
1 Anacron Tue Jan 9 00:07 20/823 Anacron job
'cron.daily' on xxxx
From: Anacron <[email protected]>
To: [email protected]
Subject: Anacron job 'cron.daily' on xxxx
Content-Type: text/plain; charset=UTF-8
ルートに送信されたメールが誰にもリダイレクトされないのはなぜですか?
$ Sudo mail -f /var/spool/mail/root
/var/spool/mail/root: 0 messages
ルートのメールボックスにメールがありません。
テストするためにrootにメールを送信します。
$ echo "This is the body of the email" | mail -s "This is the subject line" root
それらのすべてが電子メールを受信できます。
$ Sudo mail -f /var/spool/mail/root
$ Sudo mail -f /var/mail/root
$ Sudo mail -f /root/Maildir
誰もがメールを受信できません。
$ Sudo mail -f /var/spool/mail/nobody
/var/log/mail.logに情報を記録する
$ Sudo cat /var/log/mail.log
Apr 27 17:48:43 xxxx postfix/pickup[7114]: 1FE0D2801E3: uid=1000 from=<[email protected]>
Apr 27 17:48:43 xxxx postfix/cleanup[7492]: 1FE0D2801E3: message-id=<[email protected]>
Apr 27 17:48:43 xxxx postfix/qmgr[1394]: 1FE0D2801E3: from=<[email protected]>, size=360, nrcpt=1 (queue active)
Apr 27 17:48:43 xxxx postfix/local[7494]: 1FE0D2801E3: to=<[email protected]>, relay=local, delay=0.21, delays=0.17/0/0/0.04, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Apr 27 17:48:43 xxxx postfix/qmgr[1394]: 1FE0D2801E3: removed
Postfixがメールをrootから誰にもリダイレクトしないのはなぜですか?
$HOME/.forward
という名前のファイルの存在を確認します。このファイルが存在し、電子メールアドレスまたはローカルユーザー名が含まれている場合、ファイルを所有するユーザーの受信メールは、指定されたアドレスに転送されます。
たとえば、次のようになります。
debian9@hwy:~$ Sudo cat /root/.forward
nobody
debian9@hwy:~$
いくつかの重要な状態として:
procmail
ルートのメールは誰にも配信されないローカルメール配信にprocmail(または他のコマンド)を使用すると、Postfixはルートとしてメールを配信しません。代わりに、Postfixはprocmail(またはその他)を誰も実行しません。おそらくいつの日か、Wietseは外部コマンドをrootとして実行するのに十分なPostfixを信頼するでしょう。
Postfixはprocmail(または何でも)をnobodyとして実行するだけでなく、rootとして誰にもメールを配信しません。
Webの古い資料: postfix/procmail構成での奇妙な配信
Postfix独自の配信エージェントはrootのメールボックスに配信できますが、postfixは決して外部プログラム(たとえばprocmail)をrootとしてフォークしません。 UIDを配信中のメールの所有者に変更するか、そのユーザーがrootの場合、UIDをnobodyに変更します。
したがって、rootのメールを配信するとき、procmailは誰としても実行されません。