Solaris のシステム管理 (IP サービス)

NIS+ の問題

DHCP データとして NIS+ を使用する場合に発生する問題は、次のカテゴリに分類されます。

NIS+ をデータストアとして選択できない

NIS+ をデータストアとして選択しようとして、DHCP マネージャのデータストアの選択肢に NIS+ が含まれていなかったり、NIS+ のインストールと実行が確認できないというメッセージが dhcpconfig から返されたりすることがあります。これは、このネットワークでは NIS+ が使用されている可能性はあるが、このサーバーには NIS+ が構成されていないことを意味します。NIS+ をデータとして選択するためには、サーバーマシンが NIS+ クライアントとして構成されている必要があります。

サーバーを NIS+ クライアントとして設定するためには、ドメインがすでに構成され、そのマスターサーバーが動作している必要があります。さらに、ドメインのテーブルのマスターサーバーがすでに作成され、ホストテーブルには新しいクライアントシステムのエントリ (DHCP サーバー) が存在している必要があります。Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)』の「NIS+ クライアントマシンの設定」で、NIS+クライアントの構成についての詳細が説明されています。

NIS+ が適切に設定されない

DHCP で NIS+ が正常に使用できるようになっても、NIS+ を変更するとエラーになり、構成の問題が明らかになることがあります。表 11–1 を使用して、問題の原因を特定してください。

表 11–1 NIS+ の設定問題

問題 

情報の収集 

解決方法 

ルートオブジェクトが NIS+ ドメインに存在しない 

次のコマンドを入力する。  

/usr/lib/nis/nisstat

ドメインの統計情報が表示される。ルートオブジェクトが存在しない場合は、統計情報は表示されない

Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)を 参照して NIS+ ドメインを設定する

passwdpublickey の情報について NIS+ が使用されていない

次のコマンドを入力して、ネームサービススイッチ構成ファイルを表示する  

cat /etc/nsswitch.conf

この「nisplus」キーワードに関する passwdpublickey の項目を確認する

ネームサービススイッチの構成につい ては、Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)を参照

ドメイン名が空である 

次のコマンドを入力します。  

domainname

このコマンドによって空の文字列がリストされた場合は、このドメインについてドメイン名が設定されていない 

データストアにローカルファイルを使用するか、あるいは、ネットワーク用に NIS+ ドメインを設定する。Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)を参照

NIS_COLD_START ファイルが存在しない

サーバーシステムで次のコマンドを入力して、ファイルの存在を確認する  

cat /var/nis/NIS_COLD_START

データストアのローカルファイルを使用するか、あるいは、NIS+ クライアントを作成します。Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)を参照

NIS+ アクセス問題

NIS+ のアクセス権に問題があると、DES 資格が適切でない、またはアクセス権が不十分なため NIS+ オブジェクトやテーブルを更新できないというエラーメッセージが表示されることがあります。表 11–2 を使用して、受け取った NIS+ エラーの原因を判定してください。

表 11–2 NIS+ アクセス問題

問題 

情報の収集 

解決方法 

NIS+ ドメインの org_dir オブジェクトに対する作成アクセス権が DHCP サーバーシステムにない

次のコマンドを入力します。  

nisls -ld org_dir

アクセス権は r---rmcdrmcdr--- といった形式でリストされる。これらのアクセス権はそれぞれ、未認証、所有者、グループ、その他に対応する。次にオブジェクトの所有者がリストされる

nischmod コマンドを使って org_dir. に対するアクセス権を変更する

たとえば、グループに作成アクセス権を追加する場合は、次のコマンドを使用する  

nischmod g+c org_dir

 

通常、org_dir ディレクトリオブジェクトでは、所有者とグループにすべての権利 (読み取り、変更、作成、 削除) が与えられ、その他と未認証に読み取りアクセス権だけが与えられる

詳細は nischmod(1) のマニュアルページを参照

 

DHCP サーバー名は、org_dir オブジェクトの所有者として、またはグループの主体として一覧表示される。このグループには作成アクセス権が必要。次のコマンドでグループをリストする

nisls -ldg org_dir

 

DHCP サーバーに、org_dir オブジェクトの下にテーブルを作成するアクセス権がない

通常は、サーバーシステムの主体名が org_dir オブジェクトの所有グループのメンバーでないか、所有グループが存在しないことを意味する

次のコマンドを入力して所有グループ名を検索する  

niscat -o org_dir

次のような行を探す 

Group : "admin.example.com."

次のコマンドを使ってグループ内の主体名をリストする  

nisgrpadm -l groupname

nisgrpadm コマンドを使ってサーバーシステムの名前をグループに追加する

たとえば、サーバー名 pacific をグループ admin.example.com に追加するには、次のように入力する

nisgrpadm -a admin.example.com pacific.example.com

 

入力例 

nisgrpadm -l admin.example.com

サーバーシステムの名前がグループの明示的なメンバーとしてリストされるか、グループの暗黙的なメンバーとして含まれているはずである 

詳細は、nisgrpadm(1) のマニュアルページを参照

DHCP サーバーが、NIS+ cred テーブルに有効なデータ暗号化規格 (DES) 資格を持っていない

これが問題である場合には、エラーメッセージは、ユーザーが NIS+ ネームサービスに DES 資格を持っていないことを示す 

nisaddcred コマンドを使って DHCP サーバーシステムのセキュリティ資格を追加する

次の例では、ドメイン example.com にあるシステム mercury についての DES 資格を追加する方法を示す

  

nisaddcred -punix.mercury@example.com \ -P mercury.example.com.DESexample.com.

  

このコマンドは、暗号化された秘密鍵の生成に必要なスーパーユーザーのパスワードを要求する 

詳細は、nisaddcred(1M) のマニュアルページを参照