たまにボックスにログインして’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
) と呼ばれるプログラムが付属しています。mutt
やalpine
を試してみてください。(下記の「これは本物のメールですか?」を参照してください)
何が入っているのか、誰が/何を送ってきたのか?
多くの場合、メッセージには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準拠の電子メールであり、インターネット経由でルーティングする必要がないため、インターネット経由でルーティングされていません
そのため、(alpine
や mutt
のような)電子メールクライアントを起動すると、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