root 登入方法影響本地郵件傳送

root 登入方法影響本地郵件傳送

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

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

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

sudo -i

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

su root

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

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

答案1

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

sudo -i

您模擬初始登入 ( -i) 並將MAIL環境變數設為/var/spool/mail/root。當你切換到 root 時

su root

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

相關內容