aliasadm コマンドを使用してユーザーのメール別名を作成できます。メール別名はドメイン内で一意でなければなりません。この節では、コマンド行を使用してメール別名テーブルから別名を検索する方法と、NIS+、NIS、DNS、またはローカルシステムのためにメール別名を作成する方法について説明します。あるいは、admintool から Database Manager アプリケーション (Solaris とは別パッケージ) を使用して aliases データベース上でこれらの作業を行うことができます。
また、データベースファイルは、makemap を使用してローカルメールホスト用に作成できます。これらのデータベースファイルの使用により、NIS または NIS+ などの名前空間を使用する場合の利点をすべて提供できるわけではありませんが、データの検索速度は、ローカルファイルを使用するよりも速くなります。
aliasadm コマンドを使用するには、root、mail_aliases テーブルを所有する NIS+ グループのメンバー、またはテーブルを作成したユーザーでなければなりません。
aliasadm -l と入力して Return キーを押します。
これにより、別名によるアルファベット順に別名テーブルの内容が表示されます。
大きな別名テーブルがある場合、全体の内容の表示には、やや時間がかかることがあります。特定のエントリを検索する場合は、grep 検索機能を使用して特定のエントリを探し出すことができるように、出力をパイプを通して grep コマンドに入力してください (aliasadm -l | grep entry)。
aliasadm -m alias と入力して Return キーを押します。
別名エントリが表示されます。
# aliasadm -m ignatz ignatz: ignatz@saturn # Alias for Iggy Ignatz |
aliasadm -m オプションは、別名が完全に同じものだけを表示します。部分的に同じ文字列は表示しません。aliasadm -m オプションではメタキャラクタ (* および ? など) は使用できません。部分的に一致する文字列も表示したい場合は、aliasadm -l | grep partial-string と入力して Return キーを押してください。
まったく新しい NIS+ mail_aliases テーブルを作成する場合は、最初に NIS+ テーブルを初期設定しなければなりません。
任意のシステムでスーパーユーザーになります。
それぞれの別名について、aliasadm -a alias expanded_alias [options comments] と入力して Return キーを押します。
これにより、別名が NIS+ mail_aliases テーブルに追加されます。
# aliasadm -a iggy iggy.ignatz@saturn "Iggy Ignatz" |
aliasadm -m alias と入力して Return キーを押します。
これにより、作成したエントリが表示されます。
2 つまたは 3 つ以上の別名を追加する場合は、NIS+ テーブルを直接編集することもあります。
メールクライアント、メールボックスの位置、およびメールサーバーシステムの名前の各リストをコンパイルします。
任意のシステムでスーパーユーザーになります。
aliasadm -e と入力して Return キーを押します。
別名テーブルは、$EDITOR 環境変数で設定されているエディタを使って表示されます。変数が設定されていなければ、vi がデフォルトのエディタです。
次のフォーマットを使ってそれぞれの別名を別の行に入力します。
エントリが正しいことをチェックします。
変更を保存します。
任意のシステムでスーパーユーザーになります。
aliasadm -m alias と入力して Return キーを押します。
別名の情報が表示されます。
aliasadm -c alias expanded_alias [options comments] と入力して Return キーを押します。
別名は、入力した新しい情報を使って変更されます。
aliasadm -m alias と入力して Return キーを押します。
作成したエントリが表示されます。
エントリが正しいことをチェックします。
NIS マスター上の /etc/mail/aliases ファイルには名前が含まれていて、それによってシステムまたは個人が登録されています。ローカル /etc/mail/aliases ファイルで一致するものがなければ、NIS マスターが検索されます。sendmail プログラムは、NIS マスターファイルを使用してメールアドレスを決定します。aliases(4) のマニュアルページを参照してください。
各システムのファイルを編集するか、またはあるシステムのファイルを編集し、それをほかの各システムにコピーできます。
別名の形式は次のとおりです。
name: name1, name2, ... |
ローカル名またはドメインに対して別名を使用できます。たとえば、システム saturn にメールボックスがあり、ドメイン planets 内のユーザー fred の別名エントリでは、/etc/mail/aliases ファイルに次のエントリがあります。
fred: fred@planets |
メールクライアント、メールボックスの位置、およびメールサーバーシステムの名前の各リストをコンパイルします。
NIS マスターサーバーでスーパーユーザーになります。
/etc/mail/aliases ファイルを編集し、次のようなエントリを作成します。
メールクライアントごとにエントリを追加します。
エントリ Postmaster: root をポストマスタとして指定された個人のメールアドレスに変更します。
詳細は、「ポストマスタ別名を設定する方法」を参照してください。
メールサーバーの管理のためのメールボックスを作成した場合は、root:mailbox@mailserver のエントリを作成します。
変更を保存します。
cd /var/yp と入力して Return キーを押します。
make と入力して Return キーを押します。
/etc/hosts と /etc/mail/aliases ファイルでの変更が NIS スレーブシステムに転送されます。別名が有効になるのに、数分かかることがあります。
ローカルシステムの /etc/mail/aliases ファイルには名前が含まれていて、それによってシステムまたは個人が登録されています。sendmail プログラムは、このファイルを使用してメールアドレスを決定します。aliases(4) のマニュアルページを参照してください。
ネットワークがネームサービスを実行していなければ、各システムの /etc/mail/aliases ファイルには、メールクライアントのすべてのエントリが入っていなければなりません。各システムのファイルを編集するか、またはあるシステムのファイルを編集し、それをほかの各システムにコピーできます。
別名の形式は次のとおりです。
name: name1, name2, ... |
ローカル名だけに使用する別名、つまり現在のホスト名またはホスト名なしの別名を作成できます。たとえば、システム saturn にメールボックスがあるユーザー ignatz の別名エントリでは、/etc/mail/aliases ファイルに次のエントリがあります。
ignatz: ignatz@saturn |
メールサーバーごとに管理アカウントを作成するとよいでしょう。スーパーユーザーにメールサーバーのメールボックスを割り当て、/etc/mail/aliases ファイルにスーパーユーザー用のエントリを割り当てることにより作成できます。たとえば、システム saturn がメールボックスサーバーならば、/etc/mail/aliases ファイルにエントリ root: sysadmin@saturn を追加してください。
メールクライアントとメールボックスの位置の各リストをコンパイルします。
メールサーバーでスーパーユーザーになります。
/etc/mail/aliases ファイルを編集し、次のようなエントリを作成します。
メールクライアントごとにエントリを追加します。
エントリ Postmaster: root をポストマスタとして指定された個人のメールアドレスに変更します。
詳細は、「ポストマスタ別名を設定する方法」を参照してください。
メールサーバーの管理のためのメールボックスを作成した場合は、root: mailbox@mailserver のエントリを作成します。
変更を保存します。
newaliases と入力して Return キーを押します。
これにより、sendmail が使用できるバイナリ形式で alias ファイルが作成されます。ファイルは、/etc/mail/aliases.dir と /etc/mail/aliases.pag ファイルに格納されます。
/etc/mail/aliases、/etc/mail/aliases.dir、および /etc/mail/aliases.pag ファイルを他の各システムにコピーします。
3 つのファイルをすべてコピーしたら、newaliases コマンドをほかの各システムで実行する必要はありません。
rcp または rdist コマンドを使用してファイルをコピーするか、またはこの目的のために作成したスクリプトを使ってファイルをコピーできます。メールクライアントを追加または削除するたびにすべての /etc/mail/aliases ファイルを更新しなければならないので注意してください。
選択したエディタを使用して、入力ファイルを作成します。
エントリは以下のようになります。
sandy@newdomain.com ssmith@newdomain.com ssmith@olddomain.com error:nouser No such user here @olddomain.com %1@newdomain.com |
この例では、最初のエントリにより、メールは新しい別名に転送されます。2 番めのエントリにより、不適切な別名が使用された時にメッセージが作成されます。さらに、最後のエントリにより、すべての着信メールは olddomain から newdomain へ転送されます。
データベースファイルを作成します。
# /usr/sbin/makemap -o dbm newmap < newmap |
ファイルを上書きする代わりに追加する。使用できるオプションのリストは、makemap(1m) を参照
dbm データベースタイプを選択する。この他のマップタイプには、btree または hash がある
入力ファイル名とデータベースファイル名の最初の部分。dbm データベースタイプを選択すると、データベースファイルは接尾辞に .pag または .dir を使用して作成される。他の 2 つのデータベースタイプの場合、ファイル名には .db が付く
DNS ネームサービスは、個人の別名をサポートしません。「メール交換 (MX) レコード」および cname レコードを使用してホストまたはドメインの別名をサポートします。ホスト名またはドメイン名、またはその両方を DNS データベースで指定できます。DNS を管理する方法については、『Solaris ネーミングの設定と構成』を参照してください。
/etc/nsswitch.conf ファイルを編集して、ホストエントリに dns フラグが含まれていることを確認します。
DNS のホスト別名が使用できるように、ホストエントリには dns フラグが含まれている必要があります。
mailhost と mailhost.domainname エントリをチェックします。
DNS データベースに mailhost と mailhost.domainname のエントリがあることを確認してください。
各システムは postmaster メールボックスにメールを送信できなければなりません。postmaster の NIS または NIS+ 別名を作成するか、または各ローカル /etc/mail/aliases ファイルでこれを作成できます。次に、デフォルトの /etc/mail/aliases エントリを示します。
# Following alias is required by the mail protocol, RFC 822 # Set it to the address of a HUMAN who deals with this system's # mail problems. Postmaster: root |
postmaster の別名を作成するには、各システムの /etc/mail/aliases ファイルを編集し、root をポストマスタとして機能する個人のメールアドレスに変更します。
ポストマスタがポストマスタメールと個人的メールとを区別するために、別のメールボックスを作成できます。別のメールボックスを作成する場合は、/etc/mail/aliases ファイルを編集するときに、ポストマスタのメールアドレスではなくメールボックスアドレスを使用してください。
postmaster として指定された個人のアカウントを作成し、アスタリスク (*) をパスワードフィールドに入れます。
メールが配信されたら mail -f postmaster と入力して Return キーを押します。
mail プログラムはメールボックス名を読んだり、書き込んだりできます。
各システムでスーパーユーザーになり、/etc/mail/aliases ファイルを編集します。
ネットワークが NIS または NIS+ を実行しない場合は、/etc/mail/aliases ファイルを編集します。
ポストマスタ別名を root から Postmaster: postmastermailbox@postmasterhost に変更し、その変更を保存します。
ポストマスタのローカルシステムで、別名の名前 (たとえば、sysadmin) を定義する /etc/mail/aliases ファイルにエントリを作成し、ローカルメールボックスへのパスを入れます。
newaliases と入力して Return キーを押します。
あるいは、aliases ファイルで Postmaster: エントリを