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

NIS+ の問題と DHCP データストア

DHCP データストアとして NIS+ を使用する場合に起こる問題は、次のカテゴリに分けられます。

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

NIS+ を データストアとして使用しようとしても、DHCP マネージャが NIS+ をデータストアの候補として認識しないことがあります。dhcpconfig コマンドを使用すると、NIS+ がインストールされておらず、動作していないという意味のメッセージが表示されることがあります。どちらの問題の場合も、このネットワークでは NIS+ が使用されている可能性はあるが、このサーバーには NIS+ が構成されていないことを意味します。NIS+ をデータとして選択するためには、サーバーマシンが NIS+ クライアントとして構成されている必要があります。

DHCP サーバーシステムを NIS+ クライアントとして設定する前に、次の要件が満たされていなければなりません。

NIS+ クライアントの構成に関する詳しい情報については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』「NIS+ クライアントマシンの設定」を参照してください。

NIS+ が DHCP データストア用に適切に構成されていない

DHCP で NIS+ を使用できるようになったあとに NIS+ を変更すると、エラーになることがあります。このような変更が構成の問題を引き起こす可能性があるからです。問題と解決策の次の説明に従って、構成の問題の原因を判別してください。

問題:

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

対処方法:

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

/usr/lib/nis/nisstat

このコマンドによって、ドメインの統計情報が表示されます。ルートオブジェクトが存在しない場合は、統計情報は表示されません。

『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』に従って NIS+ ドメインを設定します。

問題:

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

対処方法:

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

cat /etc/nsswitch.conf

この「nisplus」キーワードに関する passwdpublickey の項目を確認します。ネームサービススイッチの構成につい ては、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』を参照してください。

問題:

ドメイン名が空である。

対処方法:

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

domainname

このコマンドによって空の文字列がリストされた場合は、このドメインについてドメイン名が設定されていません。データストアにローカルファイルを使用するか、あるいは、ネットワーク用に NIS+ ドメインを設定します。詳細は、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』を参照してください。

問題:

NIS_COLD_START ファイルが存在しない。

対処方法:

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

cat /var/nis/NIS_COLD_START

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

DHCP データストアに対する NIS+ アクセス権の問題

NIS+ のアクセス権に問題があると、DES 資格が適切でない、またはアクセス権が不十分なため NIS+ オブジェクトやテーブルを更新できないというエラーメッセージが表示されることがあります。問題と解決策の次の説明に従って、NIS+ アクセス権のエラーの原因を判別します。

問題:

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

対処方法:

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


nisls -ld org_dir

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

通常は、所有者とグループの両方に、org_dir ディレクトリオブジェクトへの完全なアクセス権があります。完全な権限は、読み取り、変更、作成、破棄からなります。その他と未認証のクラスには、org_dir ディレクトリオブジェクトへの読み取りアクセス権だけがあります。

DHCP サーバー名は、org_dir オブジェクトの所有者か、グループ内の主体としてリストされていなければなりません。グループには作成アクセス権が必要です。次のコマンドでグループをリストします。


nisls -ldg org_dir

必要な場合は、nischmod コマンドを使って、org_dir に対するアクセス権を変更します。たとえば、グループに作成アクセス権を追加する場合は、次のコマンドを使用します。


nischmod g+c org_dir

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

問題:

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

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

対処方法:

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


niscat -o org_dir

次のような行を見つけます。

Group : "admin.example.com."

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


nisgrpadm -l groupname

たとえば、次のコマンドを実行すると、グループ admin.example.com の主体名が表示されます。

nisgrpadm -l admin.example.com

サーバーシステムの名前がグループの明示的なメンバーとしてリストされるか、グループの暗黙的なメンバーとして含まれているはずです。必要なら、nisgrpadm コマンドを使ってサーバーシステムの名前をグループに追加します。

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


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

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

問題:

DHCP サーバーの NIS+ cred テーブルに有効な Data Encryption Standard (DES) 資格が存在しない。

対処方法:

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

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

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


nisaddcred -p unix.mercury@example.com \
-P mercury.example.com. DES example.com.

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

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