Solaris ネーミングの設定と構成

第 7 章 NIS+ サーバーの構成

この章では、NIS+ コマンドセットを使って NIS+ サーバーを設定する手順と、既存の NIS+ ドメインに複製サーバーを追加する手順を説明します。

この章で説明する内容は、ルートマスターを除くすべての NIS+ サーバーに適用されます。つまり、NIS 互換モードで稼動しているかどうかにかかわらず、ルート複製サーバー、非ルートマスターサーバー、または非ルート複製サーバーに適用されます。章末では個々の作業についてまとめています。

既存の NIS+ サーバーの機能を停止し、他のマシンで置き換える方法については、『Solaris ネーミングの管理』を参照してください。

NIS+ サーバーを設定する

NIS+ サーバーを設定する作業は、この章で説明する NIS+ コマンドセットを使用する方法よりも、パート I で説明した NIS+ 設定スクリプトを使用した場合の方が簡単です。この章で説明する方法は、NIS+ に精通した管理者や、設定スクリプトでは提供されない標準以外の機能や構成を必要とする管理者だけが使用してください。

標準構成と NIS 互換構成の手順の相違

NIS 互換の NIS+ サーバーと標準の NIS+ サーバーの設定における違いは、ルートマスターサーバーの場合と同じです ( 「標準構成と NIS 互換構成の手順の相違」を参照)。NIS 互換サーバー用の NIS+ デーモンは -Y オプション (DNS 転送を使用する場合は、-B オプションを追加する) を使用して起動しなければなりません。これによって、サーバーは NIS クライアントからの要求に応答できます。これについては、「NIS+ サーバーを構成する方法」の手順 2 (標準の NIS+ サーバーの場合は、手順 3) で説明します。


注 -

-Y または -B のいずれかのオプションを使用して rpc.nisd を起動した場合、必ず rpc.nisd_resolv という副デーモンが生成され、名前の解決を行います。この副デーモンは、主デーモンを終了させた場合は、必ず別個に終了させなければなりません。


構成プロセス全体のまとめを次に示します。

  1. 新しい複製サーバーにスーパーユーザーとしてログインします。

  2. NIS+ デーモンを -Y を指定して起動します (NIS 互換の場合のみ)。

  3. NIS+ デーモンを起動します (標準の NIS+ の場合のみ)。

セキュリティ上の留意点


注 -

NIS+ のセキュリティシステムは複雑です。NIS+ のセキュリティに精通していない場合は、『Solaris ネーミングの管理』のセキュリティ関連の章をもう一度読んでから NIS+ 環境の構成を始めてください。


この手順は、サーバー上のスーパーユーザーとして実行しなければなりません。起動したサーバーのセキュリティレベルによって、そのクライアントが備えるべき資格が決ります。たとえば、サーバーがセキュリティレベル 2 で構成された場合、サーバーがサポートするドメイン内のクライアントは、DES 資格を必要とします。このマニュアルの指示に従ってクライアントを構成した場合、そのクライアントは適切なドメインに DES 資格を持ち、セキュリティレベル 2 でサーバーを起動できます。


注 -

セキュリティレベル 0 は、管理者による構成とテストの目的だけに使用します。セキュリティレベル 1 はサポートされていません。一般のユーザーが通常の業務を行う環境では、レベル 0 またはレベル 1 を使用せず、常にセキュリティレベル 2 を使用してください。


前提条件

必要な情報

サーバーに変換するクライアントのスーパーユーザーパスワードが必要です。

NIS+ サーバーを初期設定する - タスクマップ

表 7-1 NIS+ サーバーを初期設定する
 

タスク 

 

説明 

 

指示の参照先 

 
 

NIS+ サーバーを初期設定する 

 

NIS 互換または NIS+ のみをサポートするように、NIS+ サーバーを初期設定する 

 

「NIS+ サーバーを構成する方法」

 
       

NIS+ サーバーを構成する方法

1 つのマスターサーバーまたは複製サーバーから複数のドメインにサービスを提供することは可能ですが、あまりお勧めしません。

  1. 新しくサーバーにするワークステーションにスーパーユーザーとしてログインします。

    以下の手順では、「クライアントを構成する」に従って、ワークステーションを NIS+ クライアントとして設定した後、これを再起動したことを前提としています。ワークステーションを再起動すると、次の手順の推奨前提条件であるキャッシュマネージャが起動します。ワークステーションを再起動しなかった場合、ここでキャッシュマネージャ (nis_cachemgr) を再起動します。

  2. NIS+ デーモンを -Y で起動します (NIS 互換のみの場合)。

    この手順は、サーバーを NIS 互換モードで設定する場合にだけ実行します。標準の NIS+ サーバーを設定する場合は、この代わりに 手順 3を実行します。

    この手順には、NIS クライアントの DNS 転送機能をサポートするための操作説明も含まれています。この手順は、2 つに分かれています。最初の手順では、NIS+ デーモンを NIS 互換モードで起動します。2 つめの手順では、サーバーが再起動されたときに、NIS+ デーモンが NIS 互換モードで再起動するように設定します。

    1. rpc.nisd-Y-B のフラグを付けて実行します。


      compatserver# rpc.nisd -Y -B
      

      -Y オプションは、NIS+ 要求だけでなく NIS 要求にも応答するインタフェースを呼び出します。-B オプションは DNS 転送をサポートします。

    2. /etc/init.d/rpc ファイルを編集します。

      /etc/init.d/rpc ファイル内で文字列 EMULYP="-Y" を検索して、この文字列を含む行のコメント指定を解除します。

      DNS 転送機能を使用するには、EMULYP="-Y" -B フラグを追加します。DNS 転送機能が必要ない場合は、コメント指定の解除だけを実行し、-B フラグは追加しないでください。

      この手順によって、/var/nis/data という名前のディレクトリが作成されます。また、trans.log というトランザクションログファイルが作成され、/var/nis というディレクトリに格納されます。


      compatserver# ls -F /var/nis
      NIS_COLD_START data/ trans.log data.dict

      trans.log ファイルは、トランザクションログです。トランザクションログの内容は、nislog コマンドを使用して調べることができます。詳細は、『Solaris ネーミングの管理』のディレクトリ関連の章を参照してください。


      注意 - 注意 -

      /var/nis ディレクトリと /var/nis/data ディレクトリは、移動または名前の変更をしないでください。また、/var/nis/trans.log ファイルと /var/nis/data.dict ファイルについても、移動または名前の変更をしないでください。Solaris リリース 2.4 以前からアップグレードする場合、それまで使っていた /hostname サブディレクトリは自動的に /var/nis/data に変換され、それに関わりのあるファイルも必要に応じて変換されます。この自動変換がなされた後で、新しい名前に変更することは絶対にしないでください。


      これで、マスターサーバー、複製サーバーのいずれにするかを決定します (第 8 章「非ルートドメインの構成」を参照)。この作業はこの手順で完了です。作業の要約については、「サーバー構成の要覧」を参考にしてください。

  3. NIS+ デーモンを起動します (標準の NIS+ のみの場合)。

    rpc.nisd コマンドを実行します。


    server# rpc.nisd
    

    NIS+ デーモンが本当に実行されていることを確認するには、次のように ps コマンドを実行します。


    server# ps -ef | grep rpc.nisd
    root 1081 1 16:43:33 ? 0:01 rpc.nisd
    root 1087 1004 11 16:44:09 pts/1 0:00 grep rpc.nisd

    この手順によって、/var/nis/data という名前のディレクトリが作成されます。また、trans.log というトランザクションログファイルが作成され、/var/nis ディレクトリに格納されます。


    compatserver# ls -F /var/nis
    NIS_COLD_START data/ trans.log data.dict

    compatserver.log ファイルは、トランザクションログです。トランザクションログの内容は、nislog コマンドを使用して調べることができます。詳しくは、『Solaris ネーミングの管理』のディレクトリ関連の章を参照してください。


    注意 - 注意 -

    /var/nis ディレクトリと /var/nis/data ディレクトリは、移動または名前の変更をしないでください。また、/var/nis/trans.log ファイルと /var/nis/data.dict ファイルについても、移動または名前の変更をしないでください。Solaris リリース 2.4 以前からアップグレードする場合、それまで使っていた /hostname サブディレクトリは自動的に /var/nis/data に変換され、それに関わりのあるファイルも必要に応じて変換されます。この自動変換がなされた後で、新しい名前に変更することは 絶対にしないで ください。


    これでこのサーバーは、第 8 章「非ルートドメインの構成」 の説明に従って、ドメインのマスターまたは複製に指定できます。NIS+ サーバーの設定は、この手順で完了です。作業の要約については 「サーバー構成の要覧」を参照してください。

既存のドメインに複製サーバーを追加する

NIS+ サービスを常に利用できる状態にしておきたいのであれば、ルート複製サーバーを少なくとも 1 つは作成しておくことをお勧めします。複製サーバーを作成すると複数のサーバーが存在することになり、要求の処理を分散させることができるため、ネットワーク要求の処理も高速化されます。

パフォーマンス上の理由から、1 つのドメインに多くの複製サーバーを置くことはお勧めできません。ネットワークが複数のサブネットで構成されている場合、あるいは広域ネットワーク (WAN) でリモートサイトに接続されている場合にだけ、複製サーバーを置くようにしてください。

理想的な複製サーバーの数については、『Solaris ネーミングの管理』を参照してください。既存のドメインに複製サーバーを追加するには、その複製サーバーを構成してから該当する名前空間の NIS+ データセットをロードします。

新しい複製サーバーを構成して NIS+ データセットをロードする方法には、次の 2 通りがあります。

NIS+ コマンドによる複製サーバーの構成

この節では、NIS+ コマンドを使って複製サーバーを既存のドメインに追加する方法について説明します。

セキュリティ上の留意点

この作業を実行する NIS+ 主体には、ドメインのディレクトリオブジェクトに対する変更権が必要です。

前提条件

必要な情報

NIS+ コマンドを使って複製サーバーを構成する- タスクマップ

表 7-2 NIS+ コマンドを使って複製サーバーを構成する
 

タスク 

 

説明 

 

指示の参照先 

 
 

NIS+ サーバーを設定する 

 

NIS+ コマンドを使って NIS+ サーバーを設定する 

 

「NIS+ コマンドを使って複製サーバーを構成する」

 
       

NIS+ コマンドを使って複製サーバーを構成する

この例では、マスターサーバー名を master1、新しい複製サーバー名を replica2 とします。

  1. ドメインのマスターサーバーにログインします。

  2. rpc.nisd が稼働中であることを確認します。

  3. ドメインに複製サーバーを追加します。

    nismkdir コマンドに -s オプションを付けて実行します。次の例では、doc.com. ドメインに replica2 という名前の複製サーバーマシンを追加します。


    master1# nismkdir -s replica2 doc.com. 
    master1# nismkdir -s replica2 org_dir.doc.com. 
    master1# nismkdir -s replica2 groups_dir.doc.com.
    

    すでに存在するディレクトリオブジェクトに nismkdir コマンドを実行すると、ディレクトリは再作成されずに、与えられたフラグに基づいてディレクトリが変更されます。この場合、-s フラグはドメインに追加する複製サーバーを割り当てます。複製サーバーが追加されたことを確認するには、niscat -o コマンドを実行して、ディレクトリオブジェクトの定義を調べます。


    注意 - 注意 -

    nismkdir コマンドは必ずマスターサーバー上で実行してください。複製サーバー上で nismkdir コマンドを実行すると、マスターサーバーと複製サーバーとの間で通信上の問題が生じます。


    これで新しい複製サーバーの構成は完了です。次は、構成した複製サーバーに NIS+ データセットをロードします。NIS+ データセットのロードには、2 通りの方法があります。

    • nisping

      何もしなければ、マスターサーバーによって nisping コマンドが実行され、該当する名前空間データが新たに構成された複製サーバーにロードされます。このとき、大きな名前空間では処理に長時間かかり、その間、名前管理情報の要求に対する応答が遅れることがあります (詳細は、「nisping を使ってデータを複製サーバーにロードする」を参照)。

    • 「バックアップと復元」

      nisping によるデータ転送に割り込みをかけ、NIS+ のバックアップ機能と復元機能を使って、名前空間データを新たに構成した複製サーバーにロードできます (「nisrestore を使ってデータを複製サーバーにロードする」を参照)。他の方法に比べて格段に早く効率的なので、こちらの方法をお勧めします。

nisrestore を使ってデータを複製サーバーにロードする

この節では、NIS+ のバックアップ機能と復元機能を使って名前空間データを新しい複製サーバーにロードする方法について説明します。この方法を使ってデータを複製サーバーにロードすることをお勧めします。

セキュリティ上の留意点

この作業を実行する NIS+ 主体には、ドメインのディレクトリオブジェクトに対する変更権が必要です。

前提条件

nisrestore を使ってデータを複製サーバーにロードする - タスクマップ

表 7-3 nisrestore を使ってデータを複製サーバーにロードする
 

タスク 

 

説明 

 

指示の参照先 

 
 

nisrestore を使ってデータを複製サーバーにロードする

 

nisrestore コマンドを使ってデータを複製サーバーにロードする

 

「nisrestore を使って名前空間データをロードする」

 
       

nisrestore を使って名前空間データをロードする

この例では、マスターサーバー名を master1、新しい複製サーバー名を replica2 とします。

  1. 複製サーバー上の rpc.nisd を終了させます。

    マスターサーバーから複製サーバーへの名前空間データの自動ロード ( nisping による) が中断されます。

  2. マスターサーバー上で NIS+ バックアップ機能を実行します。

    この手順は『Solaris ネーミングの管理』に詳しく説明されています。以下の例では、nisbackup コマンドを使って master1/var/master1_bakup ディレクトリにバックアップします。


    master1# nisbackup -a /var/master1_bakup
    

    nisrestore を使って新しい複製サーバーを構成する最も簡単な方法は、マスターサーバーのデータを NFS にマウントされた (複製サーバーからアクセス可能な) ディレクトリにバックアップするというものです。この例では、マスターサーバーと新しい複製サーバーの両方に、/var/master1_bakup ディレクトリへのアクセス権が与えられているものと想定します。

    このほかに、tar コマンドを使って /var/master1_bakup ディレクトリからテープカートリッジなどの可搬記憶メディアにデータをコピーし、次に、その可搬記憶メディアから新しい複製サーバーにマウントされているディレクトリにデータをコピーし、そのディレクトリを nisrestore コマンドの情報源として使うという方法 (手順 3 参照) もあります。

  3. nisrestore コマンドを使って、NIS+ データセットを新しい複製サーバーにロードします。

    この手順は『Solaris ネーミングの管理』に詳しく説明されています。以下の例では、nisrestore コマンドを使って NIS+ データを/var/master1_bakup ディレクトリから client2 にダウンロードします。


    replica2# nisrestore -a /var/master1_bakup
    

    作成している複製サーバーがルートドメインで使うものである場合、あるいは nisrestore が必要なデータを検証または見つけることができないという旨のエラーメッセージが出た場合は、次に示すように -f オプション付きで実行してみてください。


    replica2# nisrestore -f -a /var/master1_bakup
    

  4. 新しい複製サーバー上で rpc.nisd を再実行します。

    詳細は、「NIS+ サーバーを構成する方法」を参照してください。

nisping を使ってデータを複製サーバーにロードする

この節では、nisping コマンドを使って名前空間データを新しい複製サーバーにロードする方法について説明します。通常、このプロセスは自動的に実行されるため、nisping コマンドを実行する必要はまずありません。

nisping コマンドを使う方法の問題点は、マスターサーバーから複製サーバーへデータの再同期をとるために、NIS+ プロトコルを使ったネットワーク上のデータのやりとりが必要だということです。名前空間が大きい場合は、この処理に何時間もかかり、その間、名前管理情報の要求に対する応答が遅れることがあります。

セキュリティ上の留意点

この作業を実行する NIS+ 主体には、ドメインのディレクトリオブジェクトに対する変更権が必要です。

前提条件

nisping を使ってデータを複製サーバーにロードする - タスクマップ

表 7-4 nisping を使ってデータを複製サーバーにロードする
 

タスク 

 

説明 

 

指示の参照先 

 
 

nisping を使ってデータを複製サーバーにロードする

 

nisping を使ってデータを複製サーバーにロードする

 

「nisping を使って名前空間データをロードする方法」

 
       

nisping を使って名前空間データをロードする方法

通常、名前空間データのロードは、マスターサーバーによって自動的に開始されます。マスターサーバーによるロードが行われなかった場合は、次の説明に従って nisping コマンドを実行してください。

    ディレクトリに対して nisping を実行します。

この手順では、新しい複製サーバーにメッセージ「ping」を送信して、マスターサーバーに対して更新を要求するように通知します。複製サーバーがルートドメインに所属していない場合、必ずドメイン名を指定してください。次の例では、ドメイン名は完全を期すためにだけ記述してあります。この作業で使用する例は、ルートドメインに複製サーバーを追加しているため、次の例にあるドメイン名 doc.com. は必要ありません。


master1# nisping doc.com. 
master1# nisping org_dir.doc.com. 
master1# nisping groups_dir.doc.com.

次のような画面が表示されます。


master1# nisping doc.com. 
Pinging replicas serving directory doc.com. :
Master server is master1.doc.com.
No last update time
Replica server is replica1.doc.com.
Last update seen was Wed Nov 18 11:24:32 1992
Pinging ... replica2.doc.com.

大きな名前空間の場合、この処理に何時間もかかる場合があります。nisping の詳細は、『Solaris ネーミングの管理』のディレクトリ関連の章を参照してください。

サーバー構成の要覧

表 7-5表 7-6 では、この章で説明した作業のまとめを示しています。この 2 つの表は、最も簡単な場合を想定しているため、参考用として使用するには、実際の自分の作業の詳細を理解している必要があります。また、ここでは各コマンドに対するサーバーの応答は割愛しています。

表 7-5 複製サーバー replica2doc.com. に追加する

作業 

コマンド 

ドメインマスターサーバーにスーパーユーザーとしてログインする 

master1% su

新しい複製サーバーを指定する 

# nismkdir -s replica2 doc.com.

# nismkdir -s replica2 org_dir.doc.com.

# nismkdir -s replica2 groups_dir.doc.com.

複製サーバーに対して nisping を実行する

# /usr/lib/nis/nisping doc.com.

# /usr/lib/nis/nisping org_dir.doc.com.

# /usr/lib/nis/nisping groups_dir.doc.com.


注 -

上記の例でも説明したように、新しい複製サーバーにデータをロードするのであれば、nisping を使うより NIS+ のバックアップ機能や復元機能を使った方が簡単です 。詳細は、「nisrestore を使ってデータを複製サーバーにロードする」と『Solaris ネーミングの管理』を参照してください。


表 7-6 非ルートマスターサーバーを起動するには

作業 

コマンド 

ルートとしてサーバーにログインする 

server% su

NIS 互換モードの場合のみ: -Y -B フラグを使用してデーモンを起動する

server# rpc.nisd -Y - B

NIS 互換モードの場合のみ: EMULYP= -Y -B に変更する

server# vi /etc/inet.d/rpc

NIS+ モードの場合のみ: デーモンを起動する 

server# rpc.nisd