web-dev-qa-db-ja.com

Linux / UNIXの "新着メールがあります"というメッセージは何ですか?

時々、私がボックスにログインして「su」してrootになると、メールがあると言ってかわいいメッセージが表示されます(GODがAOLではないことに感謝します)。

  • このメールはどこにありますか?
  • それは何を含んでいますか?
  • 誰が/何を送ったの?
  • それはどれほど重要ですか?

これは実際の「メール」でもEメールと同じ意味ですか?それとも私のシステムが私に何かを言っているのでしょうか。

編集:この質問 に関連して、sendmailプログラムを使用して自分自身にメールを送信できますかそうemail@localhost

410
n0pe

このメールはどこにありますか?

スプールファイルにある可能性があります。/var/mail/$USERまたは/var/spool/mail/$USERは、LinuxおよびBSDで最も一般的な場所です。

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

通常、スプールファイルは非常に単純なmbox形式であるため、テキストエディターまたはポケットベルで開くことができます。

少し便利な方法として、ほとんどのディストリビューションにはmail(またはMailmailx)というプログラムが付属しています。 muttまたはAlpine;を試すことができます。外部メールボックスに送信されるように構成することもできます。 (以下の「このメールは本物ですか?」を参照してください。)

それには何が含まれ、誰が/何を送ったのですか?

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

それはどれほど重要ですか?

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

should少なくとも件名ヘッダーをスキャンします。多くの場合、毎日のcronジョブが失敗したことに気付かないまま、数か月間メールを無視します。

これは、電子メールと同じ意味で実際の「メール」でもありますか?それとも、私のシステムが何かを教えてくれるだけですか?

両方とも可能–システムが何かを伝えることによって生成されますが、実際の電子メールでもあり、そのように処理できます。

メールソフトウェア(「MTA」aka /usr/sbin/sendmail)を設定して、メッセージを個人のメールアドレスに転送することができます(設定する必要があります)。正確な手順は、インストールしたMTA(存在する場合)、これがパーソナルコンピューターかサーバーか、独自のドメインを持っているか、@ gmail.comなどを使用しているかなどによって異なります。 。

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

353
grawity

私にとって最も簡単な方法は、端末で次のコマンドを実行することでした。

cat /var/spool/mail/root
197
Maclovin

これらのメッセージを一つずつ読む方法を疑問に思う人は、 'mail'を使うことができます。

$ mail

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

次のメッセージに移動するには、 'next'と入力します。もう1つの便利なコマンドは 'delete'です。

mailプログラムの機能の詳細については、man mailの出力を参照してください。

51

明確にするために、UNIXボックスではメッセージをインターネット経由でルーティングせず、メッセージを他のユーザーのスプールディレクトリにコピーするだけの "ローカルに設定された"メーラーデーモンを実行することは長い間行われてきました。言及した。それは本当のSMTPに準拠したEメールです、それがする必要はないのでそれはただインターネットを介してルーティングされません。

そのため、電子メールクライアント(Alpinemuttなど)を起動した場合、user@hostnameにアドレス指定するか、多くの場合はユーザーを指定するだけで、システムの他のユーザーにメールを送信できます。シェルを使用して簡単な電子メールを送信するために使用できるmailxというコマンドラインユーティリティもあります。

今、あなたがあなたがログインしているもの以外のシステム上のユーザーにメッセージを送りたいなら、それは本当の楽しみが始まるところです。外部の電子メールを認識して転送エージェントに渡し、転送エージェントを設定し、私がまだ理解していないことをすべて実行するように、メーラデーモンを設定する必要があります。

38
LawrenceC

このメールはどこにありますか?

あなたのマシンの、rootユーザのメールボックスフォルダに保存されている可能性があります(インストールされているメールサーバの種類によって異なります)。あなたはおそらくAlpineを通して非常に速くそれにアクセスすることができます。

これには何が含まれていますか?

おそらくいくつかのシステムレポートタイプのものだけでしょう。 「だから間違ったパスワードで10回ログインしようとしました」..「誰かが私にアップデートを実行してほしい」、「ドライバなどが常に失敗している」、「NSAボットがパフォーマンスを向上させた1%まで」など.

誰が/何を送ったのですか?

おそらくあなたのサーバー上のサービス。

それはどれほど重要ですか?

サーバーの重要度によって異なります。

23
James T Snell

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

メッセージの重要性は通常、それを送信した前の要素によって異なります:)

多くのシステムユーティリティは、レポートおよびログ記録の手段としてメールサブシステムを使用します。ログ監視ユーティリティやその他のサービスは、ディスク容量不足やハードウェアエラーなどの特定のイベントについての通知として、ローカルのrootユーザーに電子メールを送信することがあります。メーラデーモンは、電子メールの送信に失敗した場合にも警告します。

13
John T

less +G /var/spool/mail/root

最新のメールを表示します。ファイルの最後に表示されます。

メールファイルを直接表示するのは良い考えですが、catを使うのは簡単ではありません。ファイル内に多数のメッセージがある場合、または非常に長いメッセージがある場合は、 all メールをスクロールしたくはありません。 150MB、200万行のものを見たところです。

あなたがrootではない場合:

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

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

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

ファイル名が/var/spool/mail/mailではなく/var/spool/mail/rootである場合があります。

12
Volker Siegel