スクリプト 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+ ドメインの名前は区別しません。