Локальная доставка почты зависит от метода корневого входа

Я просто отправил локальную почту, используя следующий синтаксис:

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

Затем я вхожу в root, используя:

 sudo -i 

И проверьте почту. Сообщение есть. Если я повторяю команду mail и вхожу в root, используя:

 su root 

Почта не находится в моем почтовом ящике. В обоих случаях я вхожу в учетную запись root, так что происходит здесь? Это довольно новая базовая установка CentOS 7.

Я даже проверил снова, войдя в систему, используя su, и когда он не был там, я вышел из системы и снова использовал sudo-i, и, конечно же, почта была там.

  • Отправка сообщений электронной почты из сценария bash в Solaris VM
  • Почему mail-utils / cron отправляет так много писем?
  • отправка нескольких вложений с помощью uuencode
  • One Solution collect form web for “Локальная доставка почты зависит от метода корневого входа”

    Причиной такого поведения является переменная среды MAIL . Когда вы переключаетесь на root с

     sudo -i 

    вы имитируете intial login ( -i ), а переменная окружения MAIL установлена ​​в /var/spool/mail/root . Когда вы переключаетесь на root с

     su root 

    Переменная среды MAIL остается прежней, т.е. /var/spool/mail/jo и mail команды проверяет почтовый ящик пользователя, а не почтовый ящик root. Вот почему вы видите его пустым.

    Linux и Unix - лучшая ОС в мире.