ルートログイン方法によって影響を受けるローカルメール配信

ルートログイン方法によって影響を受けるローカルメール配信

次の構文を使用してローカル メールを送信しました。

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

次に、次のコマンドを使用して root にログインします。

sudo -i

そしてメールをチェックします。メッセージはそこにあります。メールコマンドを繰り返して、次のコマンドを使用してルートにログインします。

su root

メールはメールボックスにありません。どちらの場合もルート アカウントにログインしているので、何が起こっているのでしょうか? これは CentOS 7 の比較的新しい基本インストールです。

su を使用してログインして再度確認しましたが、メールがなかったので、ログアウトして sudo -i を使用して再度ログインしたところ、確かにメールはありました。

答え1

この動作の原因はMAIL環境変数です。

sudo -i

初期ログイン(-i)をシミュレートし、MAIL環境変数は に設定されます/var/spool/mail/root

su root

環境MAIL変数は古い値のままです。つまり/var/spool/mail/jo、コマンドはmailルートのメールボックスではなく、ユーザーのメールボックスをチェックします。これが空として表示される理由です。

関連情報