Lokale E-Mail-Zustellung durch Root-Anmeldemethode beeinträchtigt

Lokale E-Mail-Zustellung durch Root-Anmeldemethode beeinträchtigt

Ich habe gerade eine lokale E-Mail mit der folgenden Syntax gesendet:

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

Dann melde ich mich als Root an mit:

sudo -i

Und schaue meine E-Mails nach. Die Nachricht ist da. Wenn ich den Mail-Befehl wiederhole und mich mit folgendem Befehl als Root anmelde:

su root

Die E-Mail ist nicht in meinem Postfach. In beiden Fällen melde ich mich mit dem Root-Konto an. Was passiert also hier? Es handelt sich um eine ziemlich neue, grundlegende Installation von CentOS 7.

Ich habe es sogar noch einmal geprüft, indem ich mich mit „su“ angemeldet habe. Als die E-Mail nicht da war, habe ich mich abgemeldet und mit „sudo -i“ wieder angemeldet. Und tatsächlich war die E-Mail da.

Antwort1

Die Ursache für dieses Verhalten ist die MAILUmgebungsvariable. Wenn Sie mit

sudo -i

Sie simulieren eine erste Anmeldung ( -i) und die MAILUmgebungsvariable wird auf gesetzt /var/spool/mail/root. Wenn Sie mit zu root wechseln

su root

Die MAILUmgebungsvariable behält ihren alten Wert, d. h. /var/spool/mail/jo, der Befehl mailüberprüft das Postfach des Benutzers und nicht das Postfach von root. Deshalb sehen Sie, dass es leer ist.

verwandte Informationen