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

メール別名ファイルを管理する

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

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

次の操作を行うことができます。

ProcedureNIS+ mail_aliases テーブルを作成する方法

aliasadm コマンドを使用して、NIS+ テーブルのエントリを管理することができます。テーブルを作成するには、次の手順に従います。詳細は、aliasadm(1M) のマニュアルページを参照してください。

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

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

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


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

ProcedureNIS+ mail_aliases テーブルの内容を表示する方法

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

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

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

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


    # aliasadm -1
    

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


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

また、aliasadm コマンドを使用して、個々のエントリを表示することもできます。この手順の最初の手順が完了したら、次のように入力します。


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

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



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

また、aliasadm コマンドを使用して、部分一致エントリを表示することもできます。この手順の最初の手順が完了したら、次のように入力します。


# aliasadm -l | grep partial-string

partial-string は、検索に使用する文字列で置き換えます。


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

2 つまたは 3 つの別名をテーブルに追加するには、次の手順に従います。多数の別名を追加する場合は、「NIS+ mail_aliases テーブルを編集してエントリを追加する方法」を参照してください。

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

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

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  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) のマニュアルページを参照してください。

ProcedureNIS+ mail_aliases テーブルを編集してエントリを追加する方法

aliasadm コマンドを使用して、NIS+ テーブルのエントリを管理することができます。多数の別名をテーブルに追加するには、次の手順に従います。

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

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

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  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) のマニュアルページを参照してください。

ProcedureNIS+ mail_aliases テーブルのエントリを編集する方法

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

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

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  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) のマニュアルページを参照してください。


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

テーブルからエントリを削除するには、この手順の最初の手順の完了後、次の構文を入力します。


# aliasadm -d alias

alias は、削除するエントリの別名で置き換えます。


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

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

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

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

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  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 スレーブシステムに伝達されます。変更は、遅くとも数分後には有効になります。

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

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

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

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

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  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 および /etc/mail/aliases.db ファイルをほかの各システムにコピーします。

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

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

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

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

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  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 ファイルそれぞれに別名を作成することもできます。次の手順を参照してください。

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

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

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  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 用に別のメールボックスを作成する方法」を参照してください。

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

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

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

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

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

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


    # mail -f postmaster
    
    postmaster

    割り当てられているアドレスを指定します。

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

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

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

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


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

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

  3. ポストマスターのローカルシステムで、/etc/mail/aliases ファイルに別名の名前を定義するエントリを作成します。sysadmin が 1 例です。ローカルメールボックスへのパスも指定します。


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

    新しい別名の名前を作成します。

    /usr/somewhere/somefile

    ローカルメールボックスのパスを指定します。

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


    # newaliases