Доставка локальной почты, на которую влияет метод входа в систему с правами root

Доставка локальной почты, на которую влияет метод входа в систему с правами root

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

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

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

sudo -i

И проверьте почту. Сообщение там. Если я повторю команду mail и войду в 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. Вот почему вы видите его пустым.

Связанный контент