root宛メールの転送設定(Postfix)(AlmaLinux)
メインページ > Category:自宅サーバー > AlmaLinux 8 で自宅サーバー構築 > root宛メールの転送設定(Postfix)(AlmaLinux)
※動作しません。検証中です。
root宛メールの転送設定
Linuxサーバーでは、OSやミドルウェアが何らかの情報をroot宛のメールで通知することがあります。
細かくいうと、OS上で動作する基本的なソフトウェアやミドルウェアのデフォルト設定で、root宛になっているんですね。
(root宛ではなく各プロセスの実行ユーザー宛になっているものもあります。)
サーバーを運用するうえで重要な情報ですので、このメールはサーバー管理者のメールアドレスに転送するべきです。
サーバー上でPostfixやsendmail等のメール配送サービスが動作していなければ、このメールはどこにも送信されません。
Postfixやsendmailがデフォルト設定のまま起動していれば、サーバー上のrootユーザーのメールボックスにメールが溜まります。
上記のように、
mydomain = example.jp myorigin = $mydomain append_at_myorigin = yes
と設定すると、宛先の「root」にmyoriginを付与して「root@example.jp」に送信しようとするのですが、example.jpドメインのメールボックスで「root@example.jp」のメールアドレスが用意されていないと、送信エラーとなります。
そこで、サーバー上のPostfixのtransportというメール配送マッピング設定とメールエイリアス設定で、root宛メールの転送設定を行います。
「いったん強制的にローカルに配送してから、メールエイリアス設定に従って転送させる」という方針です。
Postfixの設定で、transport_mapsパラメータを追記します。
[root@host4 ~]# vi /etc/postfix/main.cf ... transport_maps = hash:/etc/postfix/transport
transport_maps = hash:/etc/postfix/transport
transport_mapsパラメータで、マッピングテーブルのファイルを指定します。
次に、transportテーブルを作成します。
1行目はroot@example.jp 宛のメールはローカルに配送する
2行目は、それ以外のメールはすべて外部に送信する
という意味です。
[root@host4 ~]# vi /etc/postfix/transport root@sudachi.jp local: * :
ハッシュ形式のマッピングテーブルファイルを生成します。
[root@host4 ~]# /usr/sbin/postmap /etc/postfix/transport [root@host4 ~]# ls -l /etc/postfix/transport* -rw-r--r--. 1 root root 12693 4月 7 00:44 /etc/postfix/transport -rw-r--r--. 1 root root 12288 4月 7 00:45 /etc/postfix/transport.db
最後に、メールエイリアステーブル/etc/aliasesに、root宛メールの転送先アドレスを記述します。
複数のアドレスに転送する場合は、カンマ区切りで指定します。
[root@host4 ~]# vi /etc/aliases ... root: <転送先アドレス1>,<転送先アドレス2>
newaliasesコマンドでエイリアスハッシュファイルを更新します。
[root@host4 ~]# newaliases /etc/aliases: 77 aliases, longest 31 bytes, 806 bytes total [root@host4 ~]# ls -l /etc/aliases* -rw-r--r--. 1 root root 1559 4月 6 20:29 /etc/aliases -rw-r--r--. 1 root root 12288 4月 7 00:47 /etc/aliases.db
動作確認のため、mailコマンドでroot宛にテストメールを送信してみます。
[root@host4 ~]# echo "This is Test Mail fromsudachi.jp server." |\ mail -s "test mail from sudachi.jp server." root