web-dev-qa-db-ja.com

ルートに送信された電子メールが誰にもリダイレクトされないのはなぜですか?

$ 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から誰にもリダイレクトしないのはなぜですか?

2
scrapy

$HOME/.forwardという名前のファイルの存在を確認します。このファイルが存在し、電子メールアドレスまたはローカルユーザー名が含まれている場合、ファイルを所有するユーザーの受信メールは、指定されたアドレスに転送されます。

たとえば、次のようになります。

debian9@hwy:~$ Sudo cat /root/.forward
nobody
debian9@hwy:~$
2
Michael Hampton

いくつかの重要な状態として:
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は誰としても実行されません。

8
scrapy