ONC+ 開発ガイド

NIS+ の概要

このセクションでは、NIS+ ネットワークネームサービスのさまざまな面について説明します。

NIS+ のドメイン

NIS+ は次の図のような階層型ドメインをサポートします。

図 9–1 NIS+ のドメイン

Graphic

NIS+ の各ドメインは、組織の各部分のワークステーション、ユーザー、ネットワークサービスを記述するデータの集合です。NIS+ の各ドメインは、他のドメインとは独立に管理できます。この独立性により NIS+ は、小規模から大規模まで、広い範囲のネットワークで使用できます。

NIS+ とサーバー

各ドメインは複数のサーバーによってサポートされます。このうち中心となるサーバーをマスターサーバー、バックアップサーバーを複製サーバーといいます。マスターサーバーと複製サーバーの両方で NIS+ プログラムを実行します。オリジナルテーブルはマスターサーバーが保管し、複製サーバーはそのコピーを保存します。

NIS+ は、複製サーバーの増分更新を行います。最初にマスターサーバーを変更すると、次にその変更が自動的に複製サーバーに伝達され、名前空間全体で有効となります。

NIS+ テーブル

NIS+ では、情報がマップやゾーンファイルではなくテーブルに保存されます。NIS+ には次の図のような、16 種類の事前定義されたシステムテーブルがあります。

図 9–2 NIS+ のテーブル

Graphic

各テーブルにはそれぞれ違う種類の情報が保存されます。たとえば、Hosts テーブルには、ホスト名とインターネットアドレスのペアが保存され、Password テーブルにはネットワークユーザーに関する情報が保存されます。

NIS+ テーブルは、次の 2 つの点で NIS マップから大きく改善されています。1 つは、NIS+ テーブルでは第 1 カラム (「キー」ともいう) だけでなく任意のカラムにアクセスできる点です。このアクセスにより、NIS では必要であった hosts.byname hosts.byaddr などの複製マップが不要になりました。もう 1 つは、NIS+ テーブルの情報には、テーブルレベル、エントリレベル、カラムレベルの 3 つのレベルでアクセスできる点です。

NIS+ のセキュリティ

NIS+ のセキュリティモデルには、承認と認証の 2 つの機能があります。承認については、名前空間上の各オブジェクトごとに、どのような主体にどの種類の操作を承認するかを指定します。名前空間へのアクセスが要求されると、NIS+ はその要求を出した主体の認証を試みます。NIS+ は、要求の発信元を特定後、その特定の主体に対する特定の操作をオブジェクトが承認しているか判定します。NIS+ はこのように、認証情報とオブジェクトごとの承認情報に基づいて、アクセス要求を許すか拒否するかを決定します。

ネームサービススイッチ

NIS+ はネームサービススイッチと呼ばれる別の機能と連係して動作します。ネームサービススイッチ (単に「スイッチ」ともいう) を使用すると、Solaris ベースのワークステーションで、複数のネットワーク情報サービスから情報を得ることができます。ローカルファイル、/etc ファイル、NIS マップ、DNS ゾーンファイル、NIS+ テーブルから情報が得られます。ネームサービススイッチを使用すると、単にソースを選択するだけでなく、ワークステーションで情報の種類別に異なるソースを使用できます。ネームサービスの設定は、/etc/nsswitch.conf ファイルで行います。

NIS+ の管理コマンド

NIS+ は次の表に一覧表示した名前空間を管理するため、全種類のコマンドを提供します。

表 9–1 NIS+ 名前空間管理コマンド

コマンド 

説明 

nischgrp

NIS+ オブジェクトのグループ所有者を変更する 

nischmod

オブジェクトのアクセス権を変更する 

nischown

NIS+ オブジェクトの所有者を変更する 

nisgrpadm

NIS+ グループの作成と削除、グループメンバーリストの表示を行う。また、グループにメンバーを追加または削除したり、グループメンバーかどうかのテストを行う 

niscat

NIS+ テーブルの内容を表示する 

nisgrep

NIS+ テーブルのエントリを検索する  

nisls

NIS+ ディレクトリの内容をリストする 

nismatch

NIS+ テーブルのエントリを検索する  

nisaddent

/etc ファイル、または、NIS マップの情報を NIS+ テーブルに追加する

nistbladm

NIS+ テーブルの作成や削除を行う。また、NIS+ テーブルのエントリを追加、変更、削除する 

nisaddcred

NIS+ 主体の資格を作成し、それを Cred テーブルに保存する

nispasswd

NIS+ パスワードテーブルに保管されているパスワード情報を変更する。 

nisupdkeys

NIS+ オブジェクトに保存されている公開鍵を更新する 

nisinit

NIS+ のクライアントまたはサーバーを初期化する 

nismkdir

NIS+ ディレクトリを作成し、そのマスターサーバーと複製サーバーを指定する 

nisrmdir

名前空間から、NIS+ ディレクトリとその複製を削除する 

nissetup

org_dirgroups_dir の 2 つのディレクトリを作成し、NIS+ ドメインに対する全種類の NIS+ テーブル (空のテーブル) を作成する。

rpc.nisd

NIS+ のサーバープロセス 

nis_cachemgr

NIS+ クライアントの NIS+ キャッシュマネージャを起動する 

nischttl

NIS+ オブジェクトの生存期間の値を変更する 

nisdefaults

NIS+ オブジェクトのデフォルト値 (ドメイン名、グループ名、ワークステーション名、NIS+ 主体名、アクセス権、ディレクトリ検索パス、生存期間) を一覧表示する 

nisln

2 つの NIS+ オブジェクト間のシンボリックリンクを作成する 

nisrm

ディレクトリ以外の NIS+ オブジェクトを名前空間から削除する 

nisshowcache

NIS+ キャッシュマネージャによって管理される NIS+ 共有キャッシュの内容を一覧表示する