Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)

NIS+ の所有権とアクセス権の問題

この節では、ユーザーの所有権とアクセス権に関連する問題を説明します。一般的な症状には次のようなものがあります。

処理内容に関係する次の表現が含まれているエラーメッセージが表示されます。

一般的に観察されるその他の現象

アクセス権がない

アクセス権に関連してもっとも頻繁に発生する問題は、もっとも単純な問題です。行おうとしている業務に必要なアクセス権が、割り当てられていません。対象としているオブジェクトを指定して niscat -o を使用し、どのアクセス権が割り当てられているか確認します。ほかのアクセス権も必要な場合は、ユーザー自身、オブジェクトの所有者、システム管理者のうちのだれかが、そのオブジェクトのアクセス権要件の変更を行う (詳細は、第 15 章「NIS+ のアクセス権の管理」を参照) か、必要なアクセス権を持つグループに自分自身を追加 (詳細は、第 17 章「NIS+ グループの管理」を参照) することができます。

資格がない

ユーザーやマシンに適切な資格がない場合は、ほとんどの操作を行なったときにエラーが発生します。ホームドメインの cred テーブルを対象にして nismatch を使用し、正しい資格を割り当てられているかどうか確認します (資格に関連した問題の詳細については、「無効になった資格」を参照)。

サーバーがセキュリティレベル 0 で動作している

セキュリティレベル 0 で動作しているサーバーは、NIS+ の主体の資格の作成や管理を行いません。

セキュリティレベル 0 で動作しているサーバーで nispasswd を試みると、次のエラーメッセージが表示されます。「You name do not have secure RPC credentials in NIS+ domain domainname」。

セキュリティレベル 0 は、管理者が名前空間の初期設定やテストを行う際にだけ使用されます。一般のユーザーがアクセスするような環境で使用すべきではありません。

ユーザーのログインがマシン名と同じ

マシン名と同じものを、ユーザーのログイン ID とすることはできません。ユーザー名と同じ名前をマシンに割り当てる (またはその逆) と、最初の主体は、セキュリティに関係するアクセス権を必要とする動作を行うことができなくなります。2 番目の主体の鍵が、cred テーブルの中にある、最初の主体の鍵を上書きするからです。さらに、2 番目の主体は、最初の主体に割り当てられていたアクセス権を持つようになります。

たとえば、saladin というログイン名を持つユーザーが、名前空間の中で読み込み専用のアクセス権を割り当てられていたとします。次に、saladin という名前を持つマシンをドメインに追加します。ユーザー saladin は、何らかの種類のアクセス権を必要とする名前空間の操作を行うことができなくなります。そして、マシン saladin のスーパーユーザーは、名前空間の中で、読み込み専用のアクセス権だけを割り当てられます。

「症状」


注 –

nisclientnisaddcred を実行したときに、「Adding Key」ではなく「Changing Key」というメッセージが表示された場合は、そのドメインの中で、ユーザー名またはホスト名がすでに重複しています。


「診断」

nismatch を実行して、hosts テーブルや passwd テーブル内のホストとユーザーを表示し、各テーブルの中に、同じホスト名やユーザー名が存在しないか確認します。以下に例を示します。


nismatch username passwd.org_dir 

次に、ドメインの cred テーブルを対象にして nismatch を実行し、重複しているホスト名やユーザー名に、どのようなタイプの資格が割り当てられているかを調べます。LOCAL と DES 両方の資格が割り当てられている場合、cred テーブルのエントリはユーザーを表わしています。DES の資格だけが割り当てられている場合、エントリはマシンを表わしています。

「対策」

マシン名を変更します。ユーザー名を変更するより、マシン名を変更することをお勧めします。次に、cred テーブルからそのマシンのエントリを削除し、nisclient を使用して、マシンを NIS+ のクライアントとして初期設定します。nistbladm を使用して、そのマシンのもとの名前に対する別名を hosts テーブルの中に作成することもできます。必要に応じて、cred テーブル内のユーザーの資格を変更します。

正しくない資格

「無効になった資格」を参照してください。