/usr/sbin/ypinit シェルは、マスターサーバー、スレーブサーバー、クライアントが NIS を使用するように設定します。また最初に make を実行して、マスターサーバー上にマップを作成します。
ypinit を使用して、新規に NIS マップをマスターサーバーに構築するには、次の手順に従います。
マスターサーバーの root になって、確実にネームサービスで NIS ではなく /etc ファイルから情報を得るようにします。次のように入力します。
# cp /etc/nsswitch.files /etc/nsswitch.conf |
/etc/hosts ファイルまたは /etc/inet/ipnodes ファイルを編集して、NIS サーバーのそれぞれの名前と IP アドレスを追加します。
次のように入力して、新しいマップをマスターサーバーで構築します。
# /usr/sbin/ypinit -m |
ypinit は、NIS スレーブサーバーになる他のマシンの入力を要求します。作業中のサーバー名と NIS スレーブサーバー名を入力します。
致命的ではないエラーが発生したときすぐに手続きを終了するか、または致命的ではないエラーが発生しても継続するかを ypinit が問い合わせます。y を入力します。
y を選択すると、ypinit は最初の問題が発生すると終了します。問題を解決して、ypinit を再開できます。ypinit を最初に実行する場合には、この手順を実行するようにしてください。継続する場合には、発生する問題をすべて手作業で解決してから、ypinit を再度実行します。
マップファイルの一部が存在しない場合に、致命的ではないエラーが表示されることがあります。これは NIS の機能に影響するエラーではありません。自動的に作成されない場合には、マップを手作業で追加できます。デフォルトの NIS マップすべての説明は表 10-3 を参照してください。
ypinit が、/var/yp/domainname ディレクトリ内の既存のファイルを破棄してもよいかを問い合わせます。
このメッセージは、NIS が以前に設定されている場合にだけ表示されます。これに yes と回答して、NIS の新しいマップを設定します。
いったんサーバーのリストを構築すると、ypinit は make を起動します。
# make |
このプログラムは、/var/yp に置かれる Makefile (デフォルトまたは修正されたもの) に含まれる命令を使用します。make コマンドは、指定したファイルにコメント行があれば、それを取り除き、それに対して makedbm を実行します。適切なマップを作成して、各マップにマスターサーバー名を設定します。
マスターサーバー上で domainname コマンドを実行した時に返されるドメイン名以外のドメイン用のマップの転送が Makefile で行われる場合、次のように ypinit シェルスクリプト中で起動される make コマンドに適切なドメイン名を変数 DOM
で指定することで、確実にマップが正しいドメインに転送されるようにすることができます。
# make DOM=domainname password |
これは password マップを、マスターサーバーが属するドメインではなく目的のドメインに転送します。
次のように入力して、ネームサービスとして NIS を使用します。
# cp /etc/nsswitch.nis /etc/nsswitch.conf |
これは、現在のスイッチファイルをデフォルトの NIS 用スイッチファイルに置き換えます。このファイルは必要に応じて編集可能です。
通常 NIS マスターサーバーは、NIS ドメインだけをサポートします。しかしマスターサーバーを使用して、複数のドメインをサポートする場合には、追加ドメイン用にサーバーを設定する際に、前述の節で説明した手順を若干修正する必要があります。
サーバー上で domainname コマンドを実行します。コマンドが戻すドメイン名は、サーバーのデフォルトドメインです。前述の節で説明した手順は、そのドメインへのサービスの設定では正しく機能します。他のドメインに対してサービスを構成するには、ypinit シェルスクリプトを次のように修正する必要があります。
# make DOM=correct-domain passwd |
correct-domain は、サービスを設定している他のドメインの名前であり、passwd は make ターゲットです。このコマンドは password マップを、マスターサーバーが属するドメインではなく目的のドメインに転送します。