Debian

是否可以在本地向使用者root發送電子郵件

  • May 12, 2017

我在我的 Debian VPS 中設置了一個郵件系統。除了我無法向 user 發送電子郵件外,一切都很順利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’s 的郵箱。

postfix 使用procmail, 來傳遞電子郵件,並且由於出於安全原因而執行的postfix呼叫,發送到的電子郵件最終將被發送給使用者。procmail``nobody``root``nobody

Debian 郵件列表比我解釋得更好,並建議解決方法:

postfix 自己的投遞代理可以投遞到root 的郵箱,但是postfix 永遠不會以root 身份派生外部程序(例如procmail)。它要麼將 UID 更改為正在傳遞的郵件的所有者,要麼如果該使用者是 root,那麼它將 UID 更改為沒人。

所以 procmail 在傳遞 root 的郵件時會以無人身份執行。

我只需將 /var/spool/mail/root 符號連結到 /var/spool/mail/nobody 即可解決此問題 - 然後我可以以 root 身份閱讀 root 的郵件。

請注意,這不是推薦的方式 - 大多數人會建議您將 root 的郵件發送給 /etc/aliases 中的另一個使用者。

線上程的更深處,他們還記得postfix 有關 root 郵件的常見問題解答

如果您使用 procmail(或其他命令)進行本地郵件投遞,Postfix 將不會以 root 身份投遞郵件。相反,Postfix 以無人身份執行 procmail(或其他)。也許有一天 Wietse 會信任 Postfix 足以以 root 身份執行外部命令。解決方案:就像您不應該以 root 身份登錄(異常情況除外)一樣,您也不應該以 root 身份接收郵件。

為將郵件轉發給真實使用者的 root 創建一個郵件別名。

引用自:https://unix.stackexchange.com/questions/361504