ルートログイン方法はローカルメール配信に影響します。

ルートログイン方法はローカルメール配信に影響します。

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

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環境変数です。ルートに切り替えると

sudo -i

初期ログイン(-i)をシミュレートし、MAIL環境変数をに設定します/var/spool/mail/root。ルートに切り替えると

su root

環境MAIL変数は以前の値を保持します。つまり、/var/spool/mail/joコマンドはmailルートのメールボックスの代わりにユーザーのメールボックスを確認します。だから空だと見ることができます。

おすすめ記事