新しいドメインを作成したら、そのマスターサーバーの標準の NIS+ テーブルを生成しなければなりません。新しいマスターサーバーのテーブルを生成するには、ルートマスターサーバーのテーブルを生成するときと同じ手順を使用します。大きな違いは、nispopulate(1M) スクリプトが、ルートマスターサーバー上ではなく、新しいマスターサーバー上で実行されることです。また、ドメイン名、およびファイルパス、または NIS サーバー名も変わることがあります。
このサンプルでは、新しいドメイン (sales.doc.com.) のテーブルを生成します。
スクリプト nispopulate を実行して新しいマスターサーバーのテーブルを生成するには、次の条件が必要です。
ファイル内の情報は、それがロードされるテーブルに合わせて書式設定されていなければなりません。
スクリプトを実行する前に、データを読み込むローカルの /etc 内の各ファイルまたは NIS マップを調べます。不正なエントリがないことを確認します。正しいデータが、所定の場所に正しい書式で記録されていることを確認します。エントリのうち、古いもの、無効なもの、破損しているものは削除します。また、不完全なエントリや一部のみのエントリも削除します。変更を完了した後は、いつでも各エントリを追加できます。後から追加する方が、不完全なエントリや破損したエントリを読み込むよりも簡単です。
初めてネットワークを設定する場合、十分なネットワーク情報がどこにも格納されていないことがあります。このような場合、まずネットワーク情報を集め、「入力ファイル」に手入力する必要があります。このファイルは、基本的に /etc 内のファイルに対応するものです。
安全のため、/etc 内のファイルのコピーを作成します。実際のファイルは使用せずに、作成したコピーを使用してテーブルを生成してください。(たとえば、この例では /nis+files というディレクトリ内のファイルを使用します。)
コピーした NIS テーブルファイルのうち、passwd
、shadow
、aliases
、hosts
の各ファイルには、名前空間全体に分散させるとセキュリティ上問題がある項目があるので、それらを編集します。たとえば、次に示す行をローカル側の passwd
ファイルのコピーから削除して、名前空間からはそれらの情報にアクセスできないようにします。
root:x:0:1:0000-Admin(0000):/:/sbin/sh daemon:x:1:3:0000-Admin(0000):/: bin:x:3:5:0000-Admin(0000):/usr/bin: sys:x:3:3:0000-Admin(0000):/: adm:x:4:4:0000-Admin(0000):/var/adm: lp:x:78:9:0000-lp(0000):/usr/spool/lp: smtp:x:0:0:mail daemon user:/: uucp:x:5:5:0000-uucp(0000):/usr/lib/uucp: nuucp:x:7:8:0000- uucp (0000):/var/spool/uucppublic:/usr/lib/uucp/uucico listen:x:22:6:Network Admin:/usr/net/nls: nobody:x:60000:60000:uid no body:/: noaccess:x:60002:60002:uid no access:/:
ドメインがすでに構成され、そのマスターサーバーが実行されていなければなりません。
ドメインのサーバーには、新しいテーブル情報を収容できるだけの十分なディスク空き領域が必要です。
NIS+ 主体としてログインしていて、しかも指定されたドメイン内の NIS+ テーブルに対する書き込み権が必要です。この例では、マシン client2 上の root でなければなりません。
システム上の /tmp 領域が不足する場合、nispopulate スクリプトは異常終了することがあります。これを防止するには、環境変数 TMPDIR
に別のディレクトリを設定します。TMPDIR
に有効なディレクトリが設定されていない場合、スクリプトは代わりに /tmp ディレクトリを使用します。
ファイルから生成する場合、次の情報が必要です。
新しい NIS+ ドメイン名
データが転送される、適切に編集されたテキストファイルのパス
NIS+ マスターサーバーの root パスワード
NIS マップから生成する場合、次の情報が必要です。
新しい NIS+ ドメイン名
NIS ドメイン名
NIS サーバー名
NIS サーバーの IP アドレス
NIS+ マスターサーバーの root パスワード
NIS ドメインの名前は大文字と小文字を区別しますが、NIS+ ドメインの名前は区別しません。
この手順は、「ルートマスターサーバーのテーブルを生成する方法」の手順と実質的に同じなので、この例では、新しいドメイン (sales.doc.com.) のテーブルを生成するための入力についてだけ説明します。この手順の詳細は、「ルートマスターサーバーのテーブルを生成する方法」を参照してください。
このスクリプトは、ルートマスターサーバーではなく、新しいドメインのマスターサーバー上で実行しなければなりません。
次のいずれかの方法で、新しいマスターサーバー上にマスターサーバーテーブルを生成します。
ファイルからマスターサーバーテーブルを生成する
NIS マップからマスターサーバーテーブルを生成する
実行結果が一度に表示しきれないおそれがあるので、どちらの方法で行うにしてもスクロール可能なウィンドウを使用してください。
ファイルからマスターサーバーテーブルを生成するには、次のコマンドを入力します。
client2# nispopulate -F -p /nis+files -d sales.doc.com. NIS+ domain name : sales.doc.com. Directory Path : /nis+files Is this information correct? (type 'y' to accept, 'n' to change
NIS マップからマスターサーバーテーブルを生成するには、次のコマンドを入力します。
client2# nispopulate -Y -d sales.doc.com. -h businessmachine -a IP_addr_of_NIS_server -y business.doc.com NIS+ Domain name : sales.doc.com. NIS (YP) domain : business.doc.com NIS (YP) server hostname : businessmachine Is this information correct? (type 'y' to accept, 'n' to change)
このスクリプトの残りの出力については、「ルートマスターサーバーのテーブルを生成する方法」を参照してください。