ONC+ 開発ガイド

NIS+ の概要

ドメイン

NIS+ は、階層ドメインをサポートします。図 5-1 に、簡単な例を示します。

図 5-1 NIS+ のドメイン

Graphic

NIS+ の各ドメインは、組織の各部分のワークステーション、ユーザー、ネットワークサービスを記述するデータの集合です。NIS+ の各ドメインは、他のドメインとは独立に管理できます。この機能のおかげで、NIS+ は、小さなものから大きなものまでさまざまな規模のネットワークで使用できます。

サーバー

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

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

テーブル

NIS+ では、情報がマップやゾーンファイルではなくテーブルに保存されます。NIS+ には 図 5-2 で示されている 16 種類の定義済みテーブル (システムテーブル) があります。

図 5-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 2.x を使用するワークステーションで、複数のネットワーク情報サービスから情報を得ることができます。特に、ローカルファイル、/etc ファイル、NIS マップ、DNS ゾーンファイル、NIS+ テーブルから情報が得られます。ネームサービススイッチを使用すると、単に情報源を選択するだけでなく、ワークステーションで情報の種類別に異なる情報源を使用できます。ネームサービスの設定は、/etc/nsswitch.conf ファイルで行います。

NIS+ の管理コマンド

NIS+ では、名前空間を管理するのに必要なコマンドがすべて提供されています。

表 5-1 にその要約を示します。

表 5-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+ の Passwd テーブルのパスワード情報を変更する。

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+ 共有キャッシュの内容をリストする。