Entrega de correo local afectada por el método de inicio de sesión root

Entrega de correo local afectada por el método de inicio de sesión root

Acabo de enviar un correo local usando la siguiente sintaxis:

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

Luego inicio sesión en root usando:

sudo -i

Y revisa mi correo. El mensaje está ahí. Si repito el comando de correo e inicio sesión en root usando:

su root

El correo no está en mi buzón. En ambos casos estoy iniciando sesión en la cuenta raíz, entonces, ¿qué está pasando aquí? Es una instalación básica bastante nueva de CentOS 7.

Incluso revisé nuevamente iniciando sesión usando su y cuando no estaba allí, cerré la sesión y volví a iniciar sesión usando sudo -i y, efectivamente, el correo estaba allí.

Respuesta1

La causa de este comportamiento es la MAILvariable de entorno. Cuando cambias a root con

sudo -i

simula un inicio de sesión inicial ( -i) y la MAILvariable de entorno está configurada en /var/spool/mail/root. Cuando cambias a root con

su root

La MAILvariable de entorno permanece en su valor anterior, es decir, /var/spool/mail/joy el comando mailverifica el buzón del usuario y no el buzón del root. Por eso lo ves vacío.

información relacionada