Entrega de correio local afetada pelo método de login root

Entrega de correio local afetada pelo método de login root

Acabei de enviar um e-mail local usando a seguinte sintaxe:

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

Então eu entro no root usando:

sudo -i

E verifique meu e-mail. A mensagem está aí. Se eu repetir o comando mail e fazer login no root usando:

su root

O e-mail não está na minha caixa de correio. Em ambos os casos estou fazendo login na conta root, então o que está acontecendo aqui? É uma instalação básica relativamente nova do CentOS 7.

Eu até verifiquei novamente fazendo login usando su e quando ele não estava lá eu saí e entrei novamente usando sudo -i e com certeza, o e-mail estava lá.

Responder1

A causa desse comportamento é a MAILvariável de ambiente. Quando você muda para root com

sudo -i

você simula um login inicial ( -i) e a MAILvariável de ambiente é definida como /var/spool/mail/root. Quando você muda para root com

su root

A MAILvariável de ambiente permanece com seu valor antigo, ou seja, /var/spool/mail/joe o comando mailverifica a caixa de correio do usuário e não a caixa de correio do root. É por isso que você o vê vazio.

informação relacionada