Linux/UNIXで「新しいメールが届いています」というメッセージは何ですか?

email linux root unix

たまにボックスにログインして’su’してroot化すると、メールがあるというかわいいメッセージが出てきます(AOLじゃなくてよかった)

  • このメールはどこにあるの?
  • 何が入っているの?
  • 誰が、何を送ってきたのか?
  • どれだけ重要なことなのか?

これは電子メールと同じ意味で実際の「メール」なのでしょうか?それとも私のシステムが何かを教えてくれているだけなのでしょうか?

EDIT: この質問に関連して、私はこのようにsendmailプログラムを使用して自分自身にメールを送信することができますか?email@localhost?

  473  n0pe  2011-07-04


ベストアンサー

このメールはどこにあるの?

スプールファイルの中にある可能性が高いです。/var/mail/$USER/var/spool/mail/$USER は Linux や BSD では最も一般的な場所です

(他の場所も可能です – $MAILが設定されているかどうかを確認してください – しかし、デフォルトではシステムは/var(/spool)/mailについてのみ通知します)

通常、スプールファイルは非常にシンプルなmbox形式なので、テキストエディタやページャーで開くことができます

もう少し便利な方法として、ほとんどのディストリビューションには mail (あるいは Mail, mailx) と呼ばれるプログラムが付属しています。muttalpineを試してみてください。(下記の「これは本物のメールですか?」を参照してください)

何が入っているのか、誰が/何を送ってきたのか?

多くの場合、メッセージにはcronジョブの出力や、logwatchによるシステムセキュリティレポート、または同様のジャンクが含まれています。それを読んで調べてみてください

どれだけ重要なことなのか?

各メッセージの内容に大きく依存します

少なくとも件名のヘッダーをスキャンするべきです

これは電子メールと同じ意味で実際の「メール」なのでしょうか?それとも私のシステムが何かを教えてくれているだけなのでしょうか?

はい、両方ともそうです – システムがあなたに何かを伝えるために生成されますが、実際の電子メールでもあり、そのように扱うことができます

メールソフト – “MTA” 別名 /usr/sbin/sendmail – メッセージを個人のメールアドレスに転送するように設定することができます (そしてすべきです)。正確な手順は、インストールされているMTA(もしあれば)によって異なります

最近の/usr/sbin/sendmailは共有APIであり、必ずしもオリジナルのSendmail MTAを意味するものではないことに注意してください。実際には、Sendmailではなく、OpenSMTPD、Postfix、またはExim4のような最新のものを使うべきです。これらはすべて同じ/usr/sbin/sendmailツールを提供していますが、設定が簡単で、より安全で、同じくらい強力です

387  user1686  2011-07-04


私にとって一番簡単な方法は、以下のようにターミナルで実行することでした

cat /var/spool/mail/root

237  Maclovin  2011-11-25


これらのメッセージを一人ずつ読む方法を知りたい人のために、「メール」を使えばいいのです

$ mail

次に、リストの中から読みたいメッセージ番号を入力します

次のメッセージに行くには ‘next’ と入力してください

mailプログラムがどのように動作するかについては、man mailの出力を参照してください

72  Dominic Williams  2014-08-30


明確にしておきたいのですが、長い間、UNIXボックスでは「ローカルに設定された」メーラーデーモンを実行するのが伝統となっており、インターネットを経由してメッセージをルーティングせず、他のユーザのスプールディレクトリにのみメッセージをコピーしています(@John Tが言及したように)。これは本当のSMTP準拠の電子メールであり、インターネット経由でルーティングする必要がないため、インターネット経由でルーティングされていません

そのため、(alpinemutt のような)電子メールクライアントを起動すると、user@hostname にアドレスを指定することで、システム上の他のユーザにメールを送ることができますし、多くの場合、ユーザを指定するだけでメールを送ることができます。また、mailxと呼ばれるコマンドラインユーティリティを使って、シェルを使って簡単にメールを送ることもできます

さて、あなたがログインしているシステム以外のユーザーにメッセージを送信したい場合、本当の楽しみはそこから始まります。メーラーデーモンを設定して、転送エージェントに外部メールを認識させ、転送エージェントを設定し、私自身がまだ理解していない多くのことをする必要があります

44  LawrenceC  2011-07-04


このメールはどこにあるの?

おそらくあなたのマシン上のルートユーザ用のメールボックスフォルダに保存されているでしょう (どこに保存されているかはインストールしているメールサーバの種類によります)。おそらく、アルパインからすぐにアクセスできるでしょう

何が入っているの?

おそらく、システムレポートのようなものでしょう。”So and so tried to login 10 times with the incorrect password”… “I wish someone would run update on me”, “Driver such-and-such is constantly failing”, “The NSA bot has boosted performance by 1%%%”… etc

誰が、何を送ってきたのか?

あなたのサーバー上のサービス、たぶん

どれだけ重要なことなのか?

サーバーの重要度にもよりますが

26  James T Snell  2011-07-04


このメールは、(通常の)デフォルトの sendmail デーモンが設定されている場合、通常は /var/spool/mail/root にあります。このメールには、mail ユーティリティで読むことができる RAW 電子メールが含まれています。誰が送ったのかは、mail ユーティリティを実行してメッセージをページングしたり、RAWヘッダを読むことで知ることができます

メッセージの重要性は、通常、誰がそれを送ったかという前の要因に依存しています 🙂

多くのシステムユーティリティは、メールサブシステムをレポートやログの手段として使用します。ログウォッチャーユーティリティやその他のサービスは、ディスク容量の低下やハードウェアエラーなどの特定のイベントについてのリマインダーとして、ローカルのルートユーザに電子メールを送信することがあります。また、メーラーデーモンは、電子メールの送信に失敗した場合にアラートを出します

14  John T  2011-07-04


less +G /var/spool/mail/root

は最新のメールを表示します

メールファイルを直接表示するのは良いアイデアですが、catを使用すると簡単に失敗する可能性があります。メールが多い場合や、ファイル内に非常に長いメールがある場合は、すべてのメールをスクロールさせたくないでしょう。私が見たのは150MBで200万行もあるものでした

rootでない場合

sudo less +G /var/spool/mail/root

+G オプションは、最新のメッセージを最初に表示するために使用されます; ファイルの先頭ではなく、最後に表示されます

lessのオプションで、起動後にファイルの最後のページを表示するようにします。1ページに収まる場合は最後のメッセージ(最新のもの)を表示し、そうでない場合はその最後のページを表示します

ファイル名は/var/spool/mail/rootではなく/var/spool/mail/mailでもよい

14  Volker Siegel  2014-09-03


タイトルとURLをコピーしました