
Debian VPSにメールシステムを設定しました。ユーザーに電子メールを送信できないことを除いて、すべてがスムーズに機能しますroot
。
/etc/aliases
次のように指定できる回避策があります。
root: <some_other_user>
に送信されたすべての電子メールはメールボックスにroot@<fqdn>
移動されます。<some_other_user>@<fqdn>
セキュリティの観点からははるかに良いですが、ユーザーに電子メールを送信する方法があるかどうかを知りたいですroot
。
それでは、Postfixは技術的に可能でしょうか?では、どうすればよいですか?
修正する:
postfix.service
ログは次のとおりです。
Apr 26 22:18:25 <hostname><fqdn> postfix/qmgr[2375]: 3905421760: from=<ddnomad@<fqdn>>, size=631, nrcpt=1 (queue active)
Apr 26 22:18:26 <hostname><fqdn> postfix/local[2429]: 3905421760: to=<mailuser@<fqdn>>, orig_to=<root@<fqdn>>, relay=local, delay=1.3, delays=0.21/0.01/0/1, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
私が知っているのは、手紙が正常に送信されたことを意味します。しかしroot
彼のメールボックスには届かなかった。
答え1
postfixはを使用してprocmail
電子メールを送信し、postfix
セキュリティ上の理由から通話が実行されると、送信された電子メールが最終的にユーザーに送信されます。procmail
nobody
root
nobody
Debianメーリングリストは私よりもよく説明しています、解決の提案:
Postfixの独自の配信エージェントはルートのメールボックスに配信できますが、Postfixは外部プログラム(procmailなど)をrootにフォークしません。 UIDを転送されるメッセージの所有者に変更するか、ユーザーがrootの場合はUIDをnoneに変更します。
したがって、procmail はルートのメールを転送するときに誰もいない状態で実行されます。
/var/spool/mail/rootを/var/spool/mail/nobodyにシンボリックリンクしてこの問題を解決しました。その後、ルートのメールをrootとして読むことができました。
これは推奨されるアプローチではありません。ほとんどの人は、ルートのメールを/ etc / aliasesの他のユーザーに直接転送することをお勧めします。
スレッドをさらに上げると、彼らはまた覚えています。postfix
ルートメールについてよくある質問:
ローカルメール配信にprocmail(または他のコマンド)を使用している場合、Postfixはメールをrootに転送しません。代わりに、Postfixはprocmail(または何でも)をnoneとして実行します。たぶん、いつかWietseは外部コマンドをrootとして実行できるようにPostfixを信頼するでしょう。回避策:rootとしてログインしてはいけないように(異常な状況を除く)、rootとしてメールを受信してはいけません。
ルートのメールエイリアスを作成し、実際のユーザーにメールを転送します。