Instiq
第4章 · 重要なシステムサービス·v1.0.0·更新 2026/7/6·読了目安 約9分

変更要約: 初版(主題1.09・副主題1.09.1〜1.09.3に対応)

4.3メール配送エージェント(MTA)の基本

この節の要点

ホスト上のメール配送の基本を学びます。MTA の役割と代表的な実装(postfixexim)、システム全体の転送先を定める /etc/aliases と反映コマンド newaliases、ユーザー単位の転送 ~/.forward、送信・確認コマンド(mailmailq)を押さえます。

cron の実行結果やシステム警告は、昔からローカルメールで root 宛てに届く設計です。これを受け持つのが MTA(メール配送エージェント)。本副主題は「本格的なメールサーバー構築」ではなく、ホスト内の配送とエイリアス(転送)設定という運用の基礎だけが範囲です。

4.3.1MTA と配送の基本

  • MTA=メールを受け取り、宛先へ配送するサーバーソフト(SMTP・25番ポート)。代表=postfix(現在の事実上標準)・exim(Debian 系で伝統的)。存在と役割を知っていればよく、詳細設定は範囲外(公式範囲の明記)。
  • 送信テスト=mail コマンド(echo "本文" | mail -s "件名" root)。配送待ちキューの確認=mailq(詰まりの発見)。

4.3.2エイリアスと転送

  • /etc/aliasesシステム全体の別名・転送表(root: admin@example.com=root 宛てを管理者の実メールへ)。編集後は newaliases を実行してデータベースへ反映(忘れると効かない)。
  • ~/.forwardユーザー自身が置く転送設定(ホームに 別宛先 を書いたファイルを置くだけ・root 権限不要)。
  • 使い分け=全体・役割アカウントの転送は aliases(管理者作業)/個人の転送は .forward(本人作業)
試験ポイント

「/etc/aliases を編集したら newaliases(実行しないと反映されない)」 が本副主題いちばんの頻出ポイントです。「システム全体=aliases・ユーザー個人=~/.forward」「キュー確認=mailq」「代表的 MTA=postfix・exim」 もセットで覚えます。

実運用での典型設定はこうです。サーバーの cron ジョブが失敗すると root 宛てにメールが飛びますが、誰も root のメールボックスなど見ていません。そこで /etc/aliasesroot: ops-team@example.com と書き、newaliases で反映——これで全サーバー警告が運用チームの実メールに届くようになります(外部配送には MTA のリレー設定が要る点は範囲外の実務知識)。newaliases が必要な理由は、MTA が参照するのがテキストの aliases ではなく高速化のためのデータベース(aliases.db)だからで、「編集したのに転送されない」トラブルの原因第1位です。個人レベルでは、退職前のメンバーが ~/.forward に後任のアドレスを書いておく、といった本人完結の転送ができます。詰まりの調査は mailq でキューを見て、宛先不達(DNS・ネットワーク)や MTA 停止を疑う、が一次対応の型です。

設定/コマンド対象要点
/etc/aliasesシステム全体編集後に newaliases 必須
~/.forwardユーザー個人本人がホームに置くだけ
mail / mailq送信テスト/キュー確認詰まり調査の入口
postfix / exim代表的な MTA詳細設定は範囲外
注意

ひっかけ: 「/etc/aliases は保存した時点で即座に反映される」は誤りです。MTA が参照するデータベースの再構築=newaliases の実行が必須です。また「~/.forward の設置には root 権限が必要」も誤り=ユーザー本人がホームディレクトリに置くだけで機能します。postfix を「Web サーバー」とするような役割すり替えにも注意(MTA です)。

MTA(postfix/exim)・aliases/newaliases・.forward・mailq の図。
aliases 編集→newaliases が鉄則

4.3.3この節のまとめ

  • MTA=postfix/exim(役割の理解まで)。テストは mail・キューは mailq
  • 転送=全体 aliases(→newaliases 必須)/個人 ~/.forward(本人設置)

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. /etc/aliases に「root: admin@example.com」を追記したが、root 宛てメールが転送されない。実行し忘れているコマンドは?

Q2. 一般ユーザー suzuki が root 権限を使わず、自分宛てのメールを別アドレスへ転送したい。適切な方法は?

Q3. 送信したメールが相手に届いていないようだ。MTA の配送待ちキューを確認するコマンドは?

理解度を確認第4章「重要なシステムサービス」の問題を解く

学習の記録を残しませんか

参考書はすべて無料で読めます。無料登録すると、問題集での演習・既読と進捗の記録・間違えた問題の復習・ハイライトが使えます。