この章では、NIS+ コマンドセットを使って NIS+ サーバーを設定する手順と、既存の NIS+ ドメインに複製サーバーを追加する手順を説明します。
NIS+ は、将来のリリースではサポートされなくなる可能性があります。NIS+ から LDAP への移行支援ツールは、Solaris 9 リリース以降で使用できます (『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照)。詳細については、http://www.sun.com/directory/nisplus/transition.html を参照してください。
NIS+ サーバーの初期設定は、この章で説明する NIS+ コマンドよりも、NIS+ スクリプトを使用した方が簡単に行うことができます。この章で説明する方法は、NIS+ に精通した管理者や、設定スクリプトでは提供されない標準以外の機能や構成を必要とする管理者だけが使用してください。
NIS+ サービスは、サービス管理機能 (SMF) によって管理されます。このサービスに対する有効化、無効化、再起動などの管理操作を実行するには、svcadm コマンドを使用します。SMF を NIS+ で使用する方法については、「NIS+ とサービス管理機能」を参照してください。SMF の概要については、『Solaris のシステム管理 (基本編)』の「サービスの管理 (概要)」を参照してください。詳細については、svcadm(1M) と svcs(1) の各マニュアルページも参照してください。
NIS 互換の NIS+ サーバーと標準の NIS+ サーバーの設定における違いは、ルートマスターサーバーの場合と同じです (「標準構成と NIS 互換構成の手順の相違」を参照)。サーバーには、正しく構成された /etc/resolv.conf ファイルが必要です。また、NIS 互換サーバー用の NIS+ デーモンは -Y オプション (DNS 転送を使用する場合は、-B オプションも必要) を使用して起動しなければなりません。これによって、サーバーは NIS クライアントからの要求に応答できます。-Y オプションと -B オプションの実装方法については、「NIS+ とサービス管理機能」を参照してください。
-Y または -B のいずれかのオプションを使用して rpc.nisd を起動した場合、必ず rpc.nisd_resolv という副デーモンが生成され、名前の解決を行います。
設定作業の手順を次にまとめます。
新しくサーバーにするワークステーションにスーパーユーザーとしてログインします。
NIS+ デーモンを -Y で起動します (NIS 互換のみの場合)。
NIS+ デーモンを起動します (標準の NIS+ のみの場合)。
NIS+ のセキュリティシステムは複雑です。NIS+ セキュリティを使い慣れていない場合は、第 11 章「NIS+ のセキュリティの概要」を参照してから NIS+ 環境を構成することをお勧めします。
この手順は、サーバー上のスーパーユーザーとして実行しなければなりません。起動したサーバーのセキュリティレベルによって、そのクライアントが備えるべき資格が決ります。たとえば、サーバーがセキュリティレベル 2 で構成された場合、サーバーがサポートするドメイン内のクライアントは、DES 資格を必要とします。このマニュアルの指示に従ってクライアントを構成した場合、そのクライアントは適切なドメインに DES 資格を持ち、セキュリティレベル 2 でサーバーを起動できます。
セキュリティレベル 0 は、管理者による構成とテストの目的だけに使用します。セキュリティレベル 1 はサポートされていません。一般のユーザーが通常の業務を行う環境では、レベル 0 またはレベル 1 を使用せず、常にセキュリティレベル 2 を使用してください。
ルートドメインがあらかじめ構成されている (第 5 章「ルートドメインの設定」を参照)
サーバーにするには、NIS+ クライアントとして初期設定しておく (第 6 章「NIS+ クライアントの構成」を参照)
サーバーを構成するには、そのマシンにスーパーユーザーとしてログインする必要がある
サーバーを NIS 互換モードで実行し、DNS 転送をサポートするためには、正しく構成された /etc/resolv.conf ファイルが必要である
サーバーに変換するクライアントのスーパーユーザーパスワードが必要です。
1 台のマスターサーバーまたは複製サーバーから複数のドメインにサービスを提供することは可能ですが、お勧めしません。
新しくサーバーにするワークステーションにスーパーユーザーとしてログインします。
以下の手順では、「クライアントの設定」に従って、マシンを NIS+ クライアントとして設定した後、マシンを再起動したことを前提としています。マシンを再起動すると、次の手順の推奨前提条件であるキャッシュマネージャが起動します。マシンを再起動しなかった場合は、ここで svcadm を使用して NIS+ サービスを再起動します。
(省略可能) /lib/svc/method/nisplus ファイルを編集して必要なオプションを追加します。
適切なテキストエディタを使用します。
/lib/svc/method/nisplus ファイルの編集方法については、「NIS+ とサービス管理機能」を参照してください。
-B |
DNS 転送をサポートします。 |
-Y |
NIS 互換モードで NIS+ デーモンを起動します。 |
NIS+ デーモンを起動します。
server# svcadm enable network/rpc/nisplus:default |
NIS+ サービスが実行されていることを確認するには、svcs コマンドを実行します。
server# svcs \*nisplus\* STATE STIME FMRI online Jan_12 svc:/network/rpc/nisplus:default |
この手順によって、/var/nis/data という名前のディレクトリが作成されます。また、trans.log というトランザクションログファイルが作成され、/var/nis というディレクトリに格納されます。
compatserver# ls -F /var/nis NIS_COLD_START data/ trans.log data.dict |
trans.log ファイルは、トランザクションログです。トランザクションログの内容を確認するには、nislog コマンドを使用します。使用方法については、「nislog コマンド」を参照してください。
/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) でリモートサイトに接続されている場合にだけ、複製サーバーを置くようにしてください。
「サブネット」。複数のサブネットで構成されているドメインの場合、各サブネットに複製サーバーを少なくとも 1 つは作成することをお勧めします。そうしておけば、ネットワーク間の通信が一時的に途絶していても、接続が回復するまでの間、サブネットレベルの機能は維持されるからです。
「リモートサイト」。WAN によりリモートサイトに接続されているドメインの場合、WAN 接続の両側に複製サーバーを少なくとも 1 つは作成することをお勧めします。組織論的な見地からしても、同一の NIS+ ドメインに物理的に離れた 2 つのサイトがあるのは意味のあることです。たとえば、ドメイン内のマスターサーバーとその複製サーバーがすべて一方のサイトに置かれている場合、そのサイトともう一方のサイトとの間の NIS+ ネットワークトラフィックが増大するのは目に見えています。もう一方のサイトにも複製サーバーを置いておけば、ネットワークトラフィックが減るはずです。
複製サーバーの分散および最適な複製サーバー数の決定方法については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』の「ルート複製サーバーの作成」を参照してください。既存のドメインに複製サーバーを追加するには、その複製サーバーを構成してから該当する名前空間の NIS+ データセットをロードします。
新しい複製サーバーを構成して NIS+ データセットをロードする方法には、次の 2 通りがあります。
「スクリプト」。nisserver スクリプトを実行するには、「ルート複製サーバーの作成」の説明に従ってください。この方法では、NIS+ データセットが新しい複製サーバーにロードされて自動的に再同期がとられます。格段に簡単なので、こちらの方法をお勧めしますが、「NIS+ コマンドセット」と「バックアップと復元」を利用する方法に比べると、時間が長くかかることがあります。
「NIS+ コマンドセット」。NIS+ コマンドを使うには、「NIS+ コマンドを使って複製サーバーを構成する」の説明に従ってください。nisserver スクリプトを実行する方法に比べると、NIS+ に対する深い知識が必要です。この NIS+ コマンドを使う方法には、きめの細かい設定と監視が可能であるという利点があります。そして、もう 1 つ、ドメインディレクトリを手作業で作成して複製サーバーを生成し、nisbackup と nisrestore を使って NIS+ データをロードできるという利点もあります。NIS+ のバックアップおよび復元機能を使うと、nisserver を使うより短時間でデータをロードできます。
新たに構成した複製サーバーに NIS+ データセットをロードする方法には、次の 2 通りがあります。
「nisping」。nisserver スクリプトか NIS+ コマンドのどちらかを使って新しい複製サーバーを構成する場合、マスターサーバーは nisping を使用してネットワーク経由で該当する名前空間のデータセットを新しい複製サーバーに自動的にロードします。このとき、大きな名前空間では処理に長時間かかり、その間、名前管理情報の要求が遅れることがあります。詳細は、「nisping を使ってデータを複製サーバーにロードする」を参照してください。
「バックアップと復元」。nisping によるデータ転送に割り込みをかけ、NIS+ のバックアップ機能と復元機能を使って、名前空間データを新たに構成した複製サーバーにロードできます (「nisrestore を使ってデータを複製サーバーにロードする」を参照)。複製サーバーから複製サーバーにデータセットがロードされることになり、マスターサーバーから複製サーバーにネットワーク経由でデータセットをロードする場合に比べて格段に早く終わるので、こちらの方法をお勧めします。
この節では、NIS+ コマンドを使って複製サーバーを既存のドメインに追加する方法について説明します。
この作業を実行する NIS+ 主体には、ドメインのディレクトリオブジェクトに対する変更権が必要です。
ドメインをあらかじめ構成し、マスターサーバーを稼働させておく
新しい複製サーバーが NIS+ サーバーとして構成されている (「NIS+ サーバーを設定する」を参照)
サーバー名
ドメイン名
作業 |
目的 |
参照先 |
|
---|---|---|---|
NIS+ サーバーを設定する |
NIS+ コマンドを使って複製サーバーを設定する |
この例では、マスターサーバー名を master1、新しい複製サーバー名を replica2 とします。
ドメインのマスターサーバーにログインします。
NIS+ サービスが実行されていることを確認します。
master1# svcs -l network/rpc/nisplus:default |
ドメインに複製サーバーを追加します。
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+ データセットをロードします。これには、次の 2 つの方法があります。
「nisping」。何もしなければ、マスターサーバーによって nisping コマンドが実行され、該当する名前空間データが新たに構成された複製サーバーにロードされます。名前空間が大きい場合は、データのロードに時間がかかることがあります。データのロード中は、ネーミング情報の要求は遅延することがあります。詳細は、「nisping を使ってデータを複製サーバーにロードする」を参照してください。
「バックアップと復元」。nisping によるデータ転送に割り込みをかけ、NIS+ のバックアップ機能と復元機能を使って、名前空間データを新たに構成した複製サーバーにロードできます (「nisrestore を使ってデータを複製サーバーにロードする」を参照)。ほかの方法に比べて格段に早く効率的なので、こちらの方法をお勧めします。
この節では、NIS+ のバックアップ機能と復元機能を使って名前空間データを新しい複製サーバーにロードする方法について説明します。この方法を使ってデータを複製サーバーにロードすることをお勧めします。
この作業を実行する NIS+ 主体には、ドメインのディレクトリオブジェクトに対する変更権が必要です。
ドメインをあらかじめ構成し、マスターサーバーを稼働させておく
新しい複製サーバーが NIS+ サーバーとして構成されている (「NIS+ サーバーを設定する」を参照)
新しい複製サーバーが複製サーバーとして構成されている (「NIS+ コマンドを使って複製サーバーを構成する」を参照)
作業 |
目的 |
参照先 |
|
---|---|---|---|
nisrestore を使ってデータを複製サーバーにロードする |
nisrestore コマンドを使ってデータを複製サーバーにロードする |
この例では、マスターサーバー名を master1、新しい複製サーバー名を replica2 とします。
新しい複製サーバー上の NIS+ サービスを停止します。
この処理は、nisping コマンドを使用した、マスターから複製への名前空間データの自動転送に割り込んで実行されます。
replica2# svcadm disable /network/rpc/nisplus:default |
マスターサーバー上で NIS+ バックアップ機能を実行します。
この手順の詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。以下の例では、nisbackup コマンドを使って master1 サーバーを /var/master1_bakup ディレクトリにバックアップします。
master1# nisbackup -a /var/master1_bakup |
nisrestore を使って新しい複製サーバーを構成するもっとも簡単な方法は、マスターサーバーのデータを NFS にマウントされた (複製サーバーからアクセス可能な) ディレクトリにバックアップするというものです。この例では、マスターサーバーと新しい複製サーバーの両方に、/var/master1_bakup ディレクトリへのアクセス権が与えられているものと想定します。
このほかに、tar コマンドを使って /var/master1_bakup ディレクトリからテープカートリッジなどの可搬記憶メディアにデータをコピーし、次に、その可搬記憶メディアから新しい複製サーバーにマウントされているディレクトリにデータをコピーし、そのディレクトリを nisrestore コマンドの情報源として使うという方法 (手順 3 参照) もあります。
nisrestore コマンドを使って、NIS+ データセットを新しい複製サーバーにロードします。
この手順の詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。以下の例では、nisrestore コマンドを使って NIS+ データを/var/master1_bakup ディレクトリから client2 にダウンロードします。
replica2# nisrestore -a /var/master1_bakup |
作成している複製サーバーがルートドメイン用の場合、あるいは nisrestore が必要なデータを検証または検索できないというエラーメッセージが表示される場合は、nisrestore に -f オプションを付けて実行してください。たとえば、以下のようになります。
replica2# nisrestore -f -a /var/master1_bakup |
新しい複製サーバー上で NIS+ サービスを起動します。
詳細は、「NIS+ サーバーを構成する方法」を参照してください。
この節では、nisping コマンドを使って名前空間データを新しい複製サーバーにロードする方法について説明します。通常、このプロセスは自動的に実行されるため、nisping コマンドを実行する必要はまずありません。
nisping コマンドを使う方法の問題点は、マスターサーバーから複製サーバーへデータの再同期をとるために、NIS+ プロトコルを使ったネットワーク上のデータのやりとりが必要だということです。名前空間が大きい場合は、この処理に何時間もかかり、その間、名前管理情報の要求に対する応答が遅れることがあります。
この作業を実行する NIS+ 主体には、ドメインのディレクトリオブジェクトに対する変更権が必要です。
ドメインをあらかじめ構成し、マスターサーバーを稼働させておく
新しい複製サーバーが NIS+ サーバーとして構成されている (「NIS+ サーバーを設定する」を参照)
新しい複製サーバーが複製サーバーとして構成されている (「NIS+ コマンドを使って複製サーバーを構成する」を参照)
作業 |
目的 |
参照先 |
|
---|---|---|---|
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 の詳細については、第 18 章「NIS+ ディレクトリの管理」を参照してください。
表 7–4、表 7–5 では、この章で説明した作業のまとめを示しています。この 2 つの表は、もっとも簡単な場合を想定しているため、参考用として使用するには、実際の自分の作業の詳細を理解している必要があります。また、ここでは、各コマンドに対するサーバーの応答を示していません。
表 7–4 複製サーバー replica2 を doc.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 を使ってデータを複製サーバーにロードする」を参照してください。
作業 |
コマンド |
---|---|
スーパーユーザーとしてサーバーにログインする |
server% su |
NIS 互換モードの場合のみ -Y オプションを使用してデーモンを起動する (DNS 転送が必要な場合は -B オプションも使用する) |
/lib/svc/method/nisplus ファイルを編集して必要なオプションを追加してから、次のようにサービスを再起動する # svcadm restart network/rpc/nisplus |
NIS+ の場合のみ デーモンを起動する |
# svcadm enable network/rpc/nisplus |