このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
メールの転送設定:newaliasesコマンド
メールの転送設定:newaliasesコマンド
Linuxシステムにおいて、メールの転送設定は重要な管理作業の一つです。特定のユーザーに届いたメールを別のユーザーに転送したり、システム全体で共通の転送ルールを設定することで、メール管理が効率化されます。
メールの転送設定
Linuxでは、特定の宛先に届いたメールを別の宛先に転送することが可能です。メールの転送設定には、システム全体に有効な設定と特定のユーザーだけに有効な設定の2種類があります。システム全体に有効な転送設定はrootユーザーが設定する必要があり、特定のユーザーだけに有効な設定は、そのユーザー自身が行います。
newaliasesコマンドの概要
newaliasesコマンドは、/etc/aliases
ファイルを更新した後、その内容を反映させるために使用されます。このコマンドを実行すると、メールエイリアスのデータベースが再生成され、メール転送設定が有効になります。
【構文】newaliases
システム全体に有効な転送設定
システム全体に有効なメール転送設定を行うには、/etc/aliases
ファイルを編集します。このファイルにはrootユーザーのみが書き込み可能です。例えば、user01に届いたメールをrootユーザーに転送する設定は、以下のように行います。
/etc/aliasesの編集
# See man 5 aliases for format
postmaster: root
user01: root # この行を追記
この設定を反映させるためには、必ずnewaliasesコマンドを実行してください。
特定のユーザだけに有効な転送設定
特定のユーザーに対する転送設定を行う場合は、ユーザーのホームディレクトリに「.forward」ファイルを作成します。このファイルには、転送先のユーザー名やメールアドレスをカンマ区切りで記載します。
「.forward」ファイルの内容
root,suzuki
注意事項
一部のLinuxディストリビューションでは、「.forward」ファイルのアクセス権を600に設定しないと、メール転送が正常に動作しない場合があります。転送に失敗した際は、ファイルのアクセス権を確認してみてください。
コマンドの使用例と解説
1.ユーザーの一覧を表示
・「cat /etc/passwd
」コマンドを実行します。
user01ユーザー、suzukiユーザー、yamadaユーザー、satoユーザー、tanakaユーザーがあることが分ります。
(省略)
user01:x:1000:1000:user01,,,:/home/user01:/bin/bash
(省略)
suzuki:x:1001:1001:,,,:/home/suzuki:/bin/bash
yamada:x:1002:1002::/home/yamada:/bin/sh
sato:x:1003:1003:sato yuko:/home/sato:/bin/sh
tanaka:x:2222:100:tanaka sumire:/home/tanaka:/bin/bash
(省略)
2.rootユーザーに切り替え
・「su -
」コマンドを実行します。
user01@ubuntu-vm:~$ su -
パスワード:
root@ubuntu-vm:~#
3./etc/aliasesファイルの編集とnewaliasesコマンドの実行
user01に届いたメールをrootユーザーに転送するように「/etc/aliases」ファイルを編集し、「newaliases」コマンドを実行します。
・「nano /etc/aliases
」コマンドを実行し、nanoエディタで編集します。
root@ubuntu-vm:~# nano /etc/aliases
・以下の内容を追記します。「Ctrl」+「s」で保存、「Ctrl」+「x」で終了させます。
# See man 5 aliases for format
postmaster: root
user01: root # user01: root を追記
・「newaliases
」コマンドを実行します。
root@ubuntu-vm:~# newaliases
4.yamadaユーザーに切り替え、user01にメール送信
以下のようにコマンドを実行して、yamadaユーザーからusr01にメールを送信します。
root@ubuntu-vm:~# su yamada
$ mail user01
Cc:
Subject: user01-mail
This is user01-mail.
# 「Ctrl」+「D」で終了する。
$
5.rootユーザーに切り替えて、メールが転送されているか確認
以下のようにコマンドを実行して確認します。
user01へのメールがrootユーザーに転送されていることが確認できます。
$ su -
パスワード:
root@ubuntu-vm:~# mail
"/var/mail/root": 2 messages 2 new
>N 1 Mail Delivery Syst 月 8月 19 02: 71/2121 Undelivered Mail Retu
N 2 yamada@ubuntu-vm 月 8月 19 13: 14/404 user01-mail
? q
6.user01に切り替え、「.forward」ファイルを作成
まず、user01ユーザーに戻ります。以下のコマンドを実行します。
- 「
exit
」コマンド - 「
exit
」コマンド - 「
exit
」コマンド
root@ubuntu-vm:~# exit
ログアウト
$ exit
root@ubuntu-vm:~# exit
ログアウト
user01@ubuntu-vm:~$
user01に届いたメールをrootユーザーとsuzukiユーザーに転送するように、nanoエディタで「.forward」ファイルを作成して編集します。
・「nano ~/.forward
」コマンドを実行します。
user01@ubuntu-vm:~$ nano ~/.forward
・以下の内容を追記します。「Ctrl」+「s」で保存、「Ctrl」+「x」で終了させます。
root,suzuki
・「chmod 600 ~/.forward
」コマンドを実行します。
ファイルのアクセス権を変更します。
user01@ubuntu-vm:~$ chmod 600 ~/.forward
7.satoユーザーに切り替え、user01にメール送信
以下のようにコマンドを実行して、yamadaユーザーからusr01にメールを送信します。
user01@ubuntu-vm:~$ su -
パスワード:
root@ubuntu-vm:~# su sato
$ mail user01
Cc:
Subject: user01-mail
This is user01-mail.
# 「Ctrl」+「D」で終了する。
$
8.suzukiユーザーに切り替え、メールが転送されているか確認
以下のようにコマンドを実行して確認します。
user01へのメールがsuzukiユーザーに転送されていることが確認できます。
$ su suzuki
パスワード:
suzuki@ubuntu-vm:/root$ mail
"/var/mail/suzuki": 2 messages 2 new
>N 1 sato yuko 月 8月 19 14: 17/530 user01-mail
? q
まとめ
メールの転送設定は、システム全体に有効なものと、特定のユーザーだけに有効なものに分けられます。設定を反映するためには、newaliasesコマンドを使用します。また、転送設定が正常に動作するためには、ファイルのアクセス権に注意が必要です。