Solaris のシステム管理 (資源管理とネットワークサービス)

メール別名ファイルの管理

メール別名はドメイン独自にする必要があります。この節では、メール別名ファイルを管理する手順を説明します。また、Solaris 管理コンソールの「メーリングリスト」機能を使って別名データベース上でこれらの作業を実行することもできます。

その他に、makemap を使ってローカルメールホストにデータベースファイルを作成することもできます。makemap(1M) のマニュアルページを参照してください。ローカルのデータベースファイルを使用しても、NIS や NIS+ のようなネームサービスを使用するほどの利点は得られません。しかし、ネットワークのルックアップは必要ないため、ローカルのデータベースファイルからの方がより早くデータを取り出すことができます。詳細は、第 26 章「メールサービス (リファレンス)」sendmail とネームサービスの相互作用および メール別名ファイルを参照してください。

NIS+ mail_aliases テーブルの別名エントリを管理する方法

NIS+ テーブルでエントリを管理するために、aliasadm コマンドを使用できます。aliasadm コマンドを使ってテーブルエントリを表示、追加、変更、または削除するには、次の手順に従います。

  1. テーブルを所有する NIS+ グループのメンバーになるか、メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. 必要に応じて、次に挙げる例のいずれかの手順に従って作業します。

場合によっては、最初にメールクライアント、クライアントのメールボックスの位置、およびメールサーバーシステム名のそれぞれのリストをコンパイルする必要があります。

NIS+ mail_aliases テーブルを作成する例

テーブルを作成するには、次の手順に従います。

  1. テーブルを所有する NIS+ グループのメンバーになるか、メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. NIS+ テーブルを作成します。


    # aliasadm -I
    
  3. テーブルにエントリを追加します。

詳細は、aliasadm(1M) のマニュアルページを参照してください。

NIS+ mail_aliases テーブルの全内容を表示する例

テーブルの全内容を表示するには、次の手順に従います。

  1. テーブルを所有する NIS+ グループのメンバーになるか、メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. 別名のアルファベット順に全エントリを表示します。


    # aliasadm -1
    

詳細は、aliasadm(1M) のマニュアルページを参照してください。

NIS+ mail_aliases テーブルの個々のエントリを表示する例

テーブルの個々のエントリを表示するには、次の手順に従います。

  1. テーブルを所有する NIS+ グループのメンバーになるか、メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. 個々のエントリを表示します。


    # aliasadm -m ignatz
    ignatz: ignatz@saturn # Alias for Iggy Ignatz

    このコマンドは、完全に一致する別名のみ表示し、部分的に一致するエントリは表示しません。aliasadm -m オプションでは、メタキャラクタ (*? など) は使用できません。

詳細は、aliasadm(1M) のマニュアルページを参照してください。

NIS+ mail_aliases テーブル内の部分一致エントリを表示する例

テーブルの部分一致エントリを表示するには、次の手順に従います。

  1. テーブルを所有する NIS+ グループのメンバーになるか、メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. テーブル内の部分一致エントリを表示します。


    # aliasadm -l | grep partial_string
    

    partial_string

    検索に使用する文字列を指定 

詳細は、aliasadm(1M) のマニュアルページを参照してください。

例 — コマンド行から NIS+ mail_aliases テーブルへ別名を追加する

2 つまたは 3 つの別名をテーブルに追加するには、次の手順に従います。

  1. メールクライアント、メールボックスの場所、およびメールサーバーシステムの名前の各リストをコンパイルします。

  2. テーブルを所有する NIS+ グループのメンバーになるか、メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  3. (省略可能) 必要な場合は、NIS+ テーブルを作成します。

    まったく新しい NIS+ mail_aliases テーブルを作成する場合は、最初に NIS+ テーブルを初期設定しなければなりません。テーブルの作成方法については、NIS+ mail_aliases テーブルを作成する例 を参照してください。

  4. テーブルに別名を追加します。

    次に、一般的なエントリの例を示します。


    # aliasadm -a iggy iggy.ignatz@saturn "Iggy Ignatz"
    

    上記の例の入力内容を次に説明します。

    -a

    別名を追加するためのオプション 

    iggy

    簡略別名 

    iggy.ignatz@saturn

    拡張別名 

    "Iggy Ignatz"

    引用符で囲んだ別名 

  5. 作成したエントリを表示して間違いがないことを確認します。


    # aliasadm -m alias
    

    alias

    作成したエントリ 

詳細は、aliasadm(1M) のマニュアルページを参照してください。

例 — NIS+ mail_aliases テーブルを編集してエントリを追加する

多数の別名をテーブルに追加するには、次の手順に従います。

  1. メールクライアント、メールボックスの場所、およびメールサーバーシステムの名前の各リストをコンパイルします。

  2. テーブルを所有する NIS+ グループのメンバーになるか、メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  3. 別名テーブルを表示して編集します。


    # aliasadm -e
    

    このコマンドは、テーブルを表示し、テーブルの編集を可能にします。使用するエディタは、$EDITOR 環境変数で設定されています。この変数が設定されていない場合、vi がデフォルトのエディタになります。

  4. 次の形式で、1 行に 1 別名ずつ入力します。


    alias: expanded_alias # ["option" # "comments"]

    alias

    この列には、簡略別名を入力 

    expanded_alias

    この列には、拡張別名を入力 

    option

    この列は、将来の拡張のために予約されている 

    comments

    この列は、別名など、個々の別名に関するコメントに使用 

    オプション列をブランクにする場合は、空の引用符 2 つ ("") を入力し、その後にコメントを追加します。

    NIS+ mail_aliases テーブルでは、エントリの順序は重要ではありません。aliasadm -l コマンドがリストをソートし、エントリをアルファベット順に表示します。

    詳細は、メール別名ファイル および aliasadm(1M) のマニュアルページを参照してください。

例 — NIS+ mail_aliases テーブル内のエントリを編集する

テーブル内のエントリを編集するには、次の手順に従います。

  1. テーブルを所有する NIS+ グループのメンバーになるか、メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. 別名エントリを表示します。


    # aliasadm -m alias
    

    alias

    割り当てられている別名を指定 

  3. 必要に応じて別名エントリを編集します。


    # aliasadm -c alias expanded_alias [options comments]
    

    alias

    必要な場合は、別名を編集 

    expanded_alias

    必要な場合は、拡張別名を編集 

    options

    必要な場合は、オプションを編集 

    comments

    必要な場合は、このエントリのコメントを編集 

    詳細は、aliasadm(1M) のマニュアルページおよび メール別名ファイルを参照してください。

  4. 編集したエントリを表示し、エントリに間違いがないことを確認します。


    # aliasadm -m alias
    

詳細は、aliasadm(1M) のマニュアルページを参照してください。

例 — NIS+ mail_aliases テーブルからエントリを削除する

テーブルからエントリを削除するには、次の手順に従います。

  1. テーブルを所有する NIS+ グループのメンバーになるか、メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. テーブルからエントリを削除します。


    # aliasadm -d alias
    

    alias

    削除するエントリの別名を指定 

詳細は、aliasadm(1M) のマニュアルページを参照してください。

NIS mail.aliases マップを設定する方法

次の手順によって、NIS の mail.aliases マップを使って別名の設定を容易に行うことができます。

  1. メールクライアント、メールボックスの場所、およびメールサーバーシステムの名前の各リストをコンパイルします。

  2. NIS マスターサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  3. /etc/mail/aliases ファイルを編集し、次のようなエントリを作成します。

    1. メールクライアントごとにエントリを追加します。


      # cat /etc/mail/aliases
      ..
      alias:expanded_alias
      

      alias

      簡略別名を指定 

      expanded_alias

      拡張別名 (user@host.domain.com) を指定

    2. Postmaster: root エントリがあることを確認します。


      # cat /etc/mail/aliases
      ..
      Postmaster: root
      
    3. root の別名を追加します。ポストマスターとして指定された個人のメールアドレスを使用します。


      # cat /etc/mail/aliases
      ..
      root: user@host.domain.com
      

      user@host.domain.com

      指定されたポストマスターに割り当てられているアドレスを指定 

  4. NIS マスターサーバーがネームサービスを実行中で、各メールサーバーのホスト名を解釈処理できることを確認します。

  5. /var/yp ディレクトリに移動します。


    # cd /var/yp
    
  6. make コマンドを適用します。


    # make
    

    /etc/hosts および /etc/mail/aliases ファイルの変更は、NIS スレーブシステムに伝達され、遅くとも数分後には有効になります。

ローカルメール別名ファイルを設定する方法

ローカルメール別名ファイルで別名を解釈処理するには、次の手順に従います。

  1. ユーザーとメールボックスの場所の各リストをコンパイルします。

  2. メールサーバーのスーパーユーザーになるか、あるいは同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  3. /etc/mail/aliases ファイルを編集し、次のようなエントリを作成します。

    1. ユーザーごとにエントリを追加します。


      user1: user2@host.domain
      

      user1

      新しい別名を指定 

      user2@host.domain

      新しい別名の実際のアドレスを指定 

    2. Postmaster: root エントリがあることを確認します。


      # cat /etc/mail/aliases
      ..
      Postmaster: root
      
    3. root の別名を追加します。ポストマスターとして指定された個人のメールアドレスを使用します。


      # cat /etc/mail/aliases
      ..
      root: user@host.domain.com
      

      user@host.domain.com

      指定されたポストマスターに割り当てられているアドレスを指定 

  4. 別名データベースを再構築します。


    # newaliases
    

    /etc/mail/sendmail.cfAliasFile オプションの構成に応じて、このコマンドは、/etc/mail/aliases.db ファイルを 1 つ、または /etc/mail/aliases.dir/etc/mail/aliases.pag の 1 組のファイルのどちらかをバイナリ形式で生成します。

  5. 次の手順のどちらかを実行して、生成されたファイルをコピーします。

    1. (省略可能) /etc/mail/aliases/etc/mail/aliases.dir、および /etc/mail/aliases.pag ファイルを他の各システムにコピーします。

      rcp または rdist コマンドを使用して 3 つのファイルをコピーできます。詳細は、rcp(1) のマニュアルページまたは rdist(1) のマニュアルページを参照してください。また、この目的のためのスクリプトを作成することもできます。

      これらのファイルをコピーしたら、newaliases コマンドを他の各システムで実行する必要はありません。ただし、メールクライアントを追加または削除するたびにすべての /etc/mail/aliases ファイルを更新する必要があるので注意してください。

    2. (省略可能) /etc/mail/aliases.db ファイルを他の各システムにコピーします。

      rcp または rdist コマンドを使用してファイルをコピーできます。詳細は、rcp(1) のマニュアルページまたは rdist(1) のマニュアルページを参照してください。また、この目的のためのスクリプトを作成することもできます。

      このファイルをコピーしたら、newaliases コマンドを他の各システムで実行する必要はありません。ただし、メールクライアントを追加または削除するたびにすべての /etc/mail/aliases ファイルを更新する必要があるので注意してください。

キー付きマップファイルの作成方法

キー付きマップファイルを作成するには、次の手順に従います。

  1. メールサーバーのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. 入力ファイルを作成します。

    エントリには、次の構文を使用できます。


    old_name@newdomain.com   new_name@newdomain.com
    old_name@olddomain.com    error:nouser No such user here
    @olddomain.com          %1@newdomain.com
    

    old_name@newdomain.com

    新たに割り当てたドメインでこれまで割り当てられていたユーザー名を指定 

    new_name@newdomain.com

    新たに割り当てるアドレスを指定 

    old_name@olddomain.com

    これまで割り当てられていたドメインでこれまで割り当てられていたユーザー名を指定 

    olddomain.com

    これまで割り当てられていたドメインを指定 

    newdomain.com

    新たに割り当てるドメインを指定 

    1 番目のエントリにより、メールは新しい別名に転送されます。2 番目のエントリにより、不適切な別名が使用されたときにメッセージが作成されます。最後のエントリにより、すべての着信メールは olddomain から newdomain へ転送されます。

  3. データベースファイルを作成します。


    # /usr/sbin/makemap maptype newmap < newmap
    

    maptype

    dbmbtreehash などのデータベースタイプを選択

    newmap

    入力ファイル名とデータベースファイル名の最初の部分を指定。dbm データベースタイプを選択すると、データベースファイルは接尾辞に .pag または .dir を使って作成される。他の 2 つのデータベースタイプの場合、ファイル名には .db が付く

postmaster 別名の管理

各システムは postmaster メールボックスにメールを送信できなければなりません。postmaster の NIS または NIS+ 別名を作成できます。あるいは、ローカルの /etc/mail/aliases ファイルそれぞれに別名を作成することもできます。次の手順を参照してください。

ローカルの各 /etc/mail/aliases ファイルに postmaster 別名を作成する方法

postmaster 別名をローカルの各 /etc/mail/aliases ファイルに作成する場合は、次の手順に従います。

  1. 各ローカルシステムのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. /etc/mail/aliases エントリを表示します。


    # cat /etc/mail/aliases
    # Following alias is required by the mail protocol, RFC 2821
    # Set it to the address of a HUMAN who deals with this system's
    # mail problems.
    Postmaster: root
  3. 各システムの /etc/mail/aliases ファイルを編集します。

    root をポストマスターに指定する個人のメールアドレスに変更します。


    Postmaster: mail_address
    

    mail_address

    ポストマスターとして指定された個人に割り当てられたアドレスを使用します。 

  4. (省略可能) ポストマスター用に別のメールボックスを作成します。

    ポストマスターがポストマスターメールと個人メールとを区別するために、別のメールボックスを作成できます。別のメールボックスを作成する場合は、/etc/mail/aliases ファイルを編集するときに、ポストマスターの個人メールアドレスではなくメールボックスアドレスを使用してください。詳細は、postmaster 用に別のメールボックスを作成する方法を参照してください。

postmaster 用に別のメールボックスを作成する方法

postmaster 用に別のメールボックスを作成する場合は、次の手順に従います。

  1. メールサーバーのスーパーユーザーになるか、あるいは同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. postmaster として指定された個人のアカウントを作成し、アスタリスク (*) をパスワードフィールドに入れます。

    ユーザーアカウントの追加の詳細については、『Solaris のシステム管理 (基本編)』の「ユーザーアカウントとグループの管理 (手順)」を参照してください。

  3. メールが配信されたら、mail プログラムがメールボックス名に読み書きできるようにします。


    # mail -f postmaster
    

    postmaster

    割り当てられているアドレスを指定 

postmaster メールボックスを /etc/mail/aliases ファイルの別名に追加する方法

postmaster メールボックスを /etc/mail/aliases ファイル内の別名に追加する場合は、次の手順に従います。

  1. 各システムのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. root の別名を追加します。ポストマスターとして指定された個人のメールアドレスを使用します。


    # cat /etc/mail/aliases
    ..
    root: user@host.domain.com
    

    user@host.domain.com

    ポストマスターとして指定された個人に割り当てられたアドレスを使用します。 

  3. ポストマスターのローカルシステムで、別名の名前 (たとえば、sysadmin) を定義する /etc/mail/aliases ファイルにエントリを作成し、ローカルメールボックスのパスを入れます。


    # cat /etc/mail/aliases
    ..
    sysadmin: /usr/somewhere/somefile
    

    sysadmin

    新しい別名の名前を作成 

    /usr/somewhere/somefile

    ローカルメールボックスのパスを指定 

  4. 別名データベースを再構築します。


    # newaliases