Root

受 root 登錄方法影響的本地郵件傳遞

  • April 25, 2017

我剛剛使用以下語法發送了本地郵件:

echo "Testing" | mail -s "This is just a test" root@localhost

然後我使用以下命令登錄root:

sudo -i

並檢查我的郵件。消息就在那裡。如果我重複郵件命令並使用以下命令登錄到 root:

su root

郵件不在我的郵箱裡。在這兩種情況下,我都登錄到 root 帳戶,那麼這裡發生了什麼?這是 CentOS 7 的一個相當新的基本安裝。

我什至通過使用 su 登錄再次檢查,當它不存在時,我使用 sudo -i 註銷並重新登錄,果然,郵件在那裡。

此行為的原因是MAIL環境變數。當您切換到root時

sudo -i

您模擬了一個初始登錄 ( -i) 並且MAIL環境變數設置為/var/spool/mail/root. 當您切換到root時

su root

MAIL環境變數保持其舊值,即命令/var/spool/mail/jo檢查mail使用者郵箱而不是root郵箱。這就是為什麼你看到它是空的。

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