この章では、nisserver、nispopulate、nisclient の各スクリプトと NIS+ コマンドを組み合わせて、基本的な NIS+ 名前空間を構成する方法について説明します。
NIS+ は、将来のリリースではサポートされなくなる可能性があります。NIS+ から LDAP への移行支援ツールは、Solaris 9 リリース以降で使用できます (『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照)。詳細については、http://www.sun.com/directory/nisplus/transition.html を参照してください。
NIS+ 名前空間の設定と構成には、スクリプトを使用する方法をお勧めします。これらのスクリプトを使用すると、NIS+ コマンドセットを使用する場合よりも簡単に NIS+ 名前空間を設定できます。第 6 章「NIS+ クライアントの構成」、第 7 章「NIS+ サーバーの構成」、および第 8 章「ルート以外のドメインの構成」を参照してください。
スクリプトの詳細は、nisserver(1M)、nispopulate(1M)、nisclient(1M) の各マニュアルページを参照してください。用語や略語の定義については、用語集を参照してください。
このチュートリアルで説明するサンプルの小さな NIS+ 名前空間を土台にして実際の NIS+ 名前空間を作ることはしないでください。名前空間についてひととおり理解できたら、サンプルの名前空間は削除してください。サンプルの名前空間に実際の名前空間を追加しないでください。あらためて、初めから NIS+ 階層の計画を注意深く立ててから、実際の名前空間を作成してください。
一般に推奨される設定手順を表 4–1 に要約します。左端の列には、ルートドメインの構成やクライアントの作成などの主な設定作業を示します。中央の列は、作業の説明です。3 番目の列は、各手順に必要なスクリプトまたはコマンドです。
表 4–1 NIS+ の推奨構成手順の概要
作業 |
目的 |
スクリプトまたはコマンド |
---|---|---|
NIS+ 名前空間の計画を立てる |
NIS+ 名前空間の計画を立てる。計画の要件と手順の詳細は、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』の「NIS+ の紹介」を参照してください。(試験的なネットワークで NIS+ チュートリアルを使用している場合、この手順は不要) |
|
既存の名前空間を設定する |
スクリプトを正常に実行するためには、既存の名前空間を適切に設定する必要がある。必要な準備については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』の「名前空間がすでに存在する場合の設定」を参照してください。(試験的なネットワークで NIS+ チュートリアルを使用している場合、この手順は不要) |
|
Diffie-Hellman キー長を設定する |
DES 認証を使用する場合には、デフォルトの 192 ビットよりも長い Diffie-Hellman キーの使用を考慮する。キーを長くする場合、その長さはドメイン内のすべてのマシンで同一である必要がある。各初期設定スクリプトの実行する前に、目的のキー長を指定する |
nisauthconf |
ルートドメインの構成 |
ルートドメインを作成する。ルートマスターサーバーの構成と初期設定を行う。ルートドメイン管理グループを作成する |
nisserver |
テーブルの生成 |
テキストファイルまたは NIS マップからルートドメインの NIS+ テーブルを生成 (populate) する。ルートドメインクライアントの資格 (credential) を作成する。管理者の資格を作成する |
nispopulate nisgrpadm nisping |
ルートドメインクライアントの構成 |
クライアントマシンを構成する (そのうちの何台かは後にサーバーになる)。ユーザーを NIS+ クライアントとして初期設定する |
nisclient |
サーバーを使用可能にする |
ルートドメインの一部のクライアントをサーバーとして使用可能にする。サーバーの一部は後でルート複製サーバーとなり、そのほかは下位レベルのドメインをサポートする |
svcadm enable |
ルート複製サーバーの構成 |
構成したばかりのサーバーのうち、1 台または複数をルートドメインの複製として指定する |
nisserver svcadm |
ルート以外のドメインの構成 |
新しいドメインを作成します以前の手順で使用可能にしたサーバーを、そのマスターとして指定する。その管理グループと管理資格を作成する |
nisserver |
テーブルの生成 |
新しいドメインのクライアントの資格を作成する。テキストファイルまたは NIS マップから、新しいドメインの NIS+ テーブルを生成する |
nispopulate |
ルート以外のドメインのクライアントを構成する |
新しいドメインのクライアントを構成する (一部のクライアントは、後に下位レベルのドメインのサーバーとなる場合がある)。ユーザーを NIS+ クライアントとして初期設定する |
nisclient |
NIS+ スクリプトを使用することによって、上の作業で示される個々の手順の大部分を省略できます。
NIS+ サービスに関連したコマンド行管理タスクのほとんどは、サービス管理機能 (SMF) によって管理されます。SMF の概要については、『Solaris のシステム管理 (基本編)』の「サービスの管理 (概要)」を参照してください。詳細については、svcadm(1M) と svcs(1) の各マニュアルページも参照してください。
NIS+ サービスに対する有効化、無効化、再起動などの管理操作を実行するには、svcadm コマンドを使用します。サービスを起動または停止すると、依存するプロセスもすべて起動または停止します。
-t オプションを使ってサービスを一時的に無効にすると、サービス構成の一部を保護できます。-t オプションを使ってサービスを無効にした場合は、再起動後にサービスの元の設定が復元されます。-t オプションを使わずにサービスを無効にした場合は、再起動後もサービスは引き続き無効になります。
SMF では、/var/nis/NIS_COLD_START ファイルが検出されると、NIS+ サービスを有効にしたときに nis_cachemgr が自動的に起動されます。
NIS+ の FMRI (Fault Managed Resource Identifier) は svc:/network/rpc/nisplus:<instance> です。
keyserv の FMRI は svc:/network/rpc/keyserv:<instance> です。
NIS+ の状態を問い合わせるには、svcs コマンドを使用します。
svcs コマンドと出力の例を次に示します。
# svcs \*nisplus\* STATE STIME FMRI disabled Sep_01 svc:/network/rpc/nisplus:default |
svcs -l コマンドと出力の例を次に示します。
# svcs -l network/rpc/nisplus fmri svc:/network/rpc/nisplus:default enabled false state disabled next_state none restarter svc:/system/svc/restarter:default dependency require_all/none svc:/network/rpc/keyserv (online) |
また、svccfg ユーティリティを使用すれば、サービスに関する詳細な情報を取得できます。svccfg(1M) のマニュアルページを参照してください。
デーモンが存在するかどうかを確認するには、ps コマンドを使用します。
# ps -e | grep rpc.nisd |
-f オプションは ps とともに使わないでください。このオプションはユーザー ID を名前に変換しようとするため、より多くのネームサービスの検索が失敗する可能性があります。
一般に、/usr/sbin/rpc.nisd デーモンは svcadm コマンドを使って管理します。ただし、rpc.nisd が -x nisplusLDAPinitialUpdateOnly=yes を使って呼び出された場合、rpc.nisd は指定された操作を実行して、終了します。つまり、rpc.nisd はデーモンとして動作しません。SMF は -x nisplusLDAPinitialUpdateOnly=yes とともに使用しません。SMF は、それ以外で rpc.nisd デーモンを起動、停止、または再起動する場合にいつでも使用できます。
rpc.nisd を -x nisplusLDAPinitialUpdateOnly=yes で使用する例を次に示します。
# /usr/sbin/rpc.nisd -m mappingfile \ -x nisplusLDAPinitialUpdateAction=from_ldap \ -x nisplusLDAPinitialUpdateOnly=yes |
SMF を使って rpc.nisd デーモンを呼び出すときに特定のオプションを指定する場合は、そのオプションを /lib/svc/method/nisplus ファイルに追加します。次に、よく使われるオプションをいくつか示します。
-S 0 |
サーバーのセキュリティレベルを 0 に設定します。現時点ではブートストラップに必要です。 cred テーブルがまだ存在しないので、NIS+ 主体は資格を持つことができません。このため、高いセキュリティレベルを使用すると、サーバーからロックアウトされます。 |
-B |
DNS 転送をサポートします。 |
-Y |
NIS 互換モードで NIS+ デーモンを起動します。 |
スーパーユーザーになるか、同等の役割になります。
役割には、承認と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「役割に基づくアクセス制御の使用 (作業)」を参照してください。
NIS+ サービスを停止します。
# svcadm disable network/rpc/nisplus:default |
/lib/svc/method/nisplus ファイルを開きます。
適切なテキストエディタを使用します。
ファイルを編集して必要なオプションを追加します。
例 —
変更前:
/usr/sbin/rpc.nisd $nisd_flags || exit $? |
変更後:
/usr/sbin/rpc.nisd $nisd_flags -Y -B || exit $? |
この例では、-Y および -B オプションが rpc.nisd に追加され、起動時に自動的に実装されます。
保存して終了します。
NIS+ サービスを開始します。
# svcadm enable network/rpc/nisplus:default |
この章では、サンプルの NIS+ 名前空間を作成する方法を説明します。NIS+ 名前空間のサンプルは、/etc 内のファイルと NIS マップから作成されます。このサンプルでは、サイトで NIS を実行している場合と実行していない場合の両方について、スクリプトの使用方法を説明します。サーバーが NIS クライアントにサービスを提供する場合、サーバーを NIS 互換モードに設定できます。NIS 互換モードの詳細については、「Solaris 1.x と NIS 互換モード」を参照してください。
サイトの実際の NIS+ 名前空間とそのドメイン階層は、名前空間サンプルのものとはおそらく異なり、サーバー、クライアント、およびドメインの数も異なります。最終的なドメイン構成と階層は、このサンプルと異なるものと考えてください。この名前空間サンプルは、NIS+ スクリプトの使用法を説明するためだけのものです。この名前空間サンプルを作成すると、自分のサイトでのドメイン、サーバー、およびクライアントの作成方法も理解できるはずです。
名前空間サンプルには次の構成要素があります。
ルートマスターサーバー 1 台 (名称 master、doc.com. ドメイン用)
ルートドメイン (doc.com.) のクライアント 4 台
client1 は、ルート複製サーバーとなる (doc.com. ドメイン用)
client2 は、新しいサブドメインのマスターサーバーとなる (sub.doc.com. ドメイン用)
client3 は、新しいサブドメインのルート以外の複製サーバーとなる (sub.doc.com. ドメイン用)
client4 は、ルートドメインのクライアントとして残る (doc.com. ドメイン用)
サブドメインの 2 台のクライアント (名称 subclient1 および subclient2、sub.doc.com. ドメイン用)
ここでは、/etc/hosts などのシステム情報ファイルと NIS マップの両方を使用してネットワークサービス情報を格納するサイトで、NIS+ の設定に使用されるスクリプトを説明します。NIS+ 名前空間サンプルでこのような混合型のサイトを使用するのは、単にサンプルとして示すことが目的です。
表 4–2 に、NIS+ ドメインのサンプルを作成するときの、NIS+ スクリプトとコマンドの汎用的な手順を示します。このあとの節ではこれらのコマンド行について詳しく説明します。NIS+ のドメイン、サーバー、およびクライアントの作成に必要な作業に習熟した後、表 4–2 はコマンド行のクイックリファレンスガイドとして使用してください。表 4–2 は、NIS+ 名前空間サンプルを作成するために実際に入力するコマンドと変数をまとめたものです。
表 4–2 NIS+ ドメインの構成に使うコマンド行のまとめ
動作 |
マシン |
コマンド |
---|---|---|
/usr/lib/nis をルートのパスに追加する。C シェルまたは Bourne シェルを使用 |
ルートマスターサーバーとクライアントマシン。スーパーユーザーとして行う |
setenv または
|
オプションで DES 認証を使用する場合には、Diffie-Hellman キー長を選択する |
サーバーとクライアントマシン。スーパーユーザーとして行う |
nisauthconf -dhkey-length-alg-type des |
NIS (YP) との互換性があるか、または互換性がないルートマスターサーバーを作成する |
ルートマスターサーバー。スーパーユーザーとして行う |
nisserver -r-dnewdomain. または nisserver -Y-r-d newdomain. |
ファイルまたは NIS マップからルートマスターサーバーテーブルを生成する |
ルートマスターサーバー。スーパーユーザーとして行う |
nispopulate -F-p /files -d newdomain. または nispopulate -Y-d newdomain. -h NISservername\ -a NIS_server_ipaddress -y NIS_domain |
NIS+ 管理グループにユーザーを追加する |
ルートマスターサーバー。スーパーユーザーとして行う |
nisgrpadm -a admin.domain.name.domain. |
NIS+ データベースのチェックポイントを実行する |
ルートマスターサーバー。スーパーユーザーとして行う |
nisping -C domain. |
新しいクライアントマシンを初期設定する |
クライアントマシン。スーパーユーザーとして行う |
nisclient -i-d domain. -h master1 |
ユーザーを NIS+ クライアントとして初期設定する |
クライアントマシン。ユーザーとして行う |
nisclient -u |
NIS+ サービス (rpc.nisd デーモン) を起動する — クライアントを NIS との互換性 (および DNS 転送機能) を備えた (または備えていない) サーバーに変換するのに必要となる |
クライアントマシン。スーパーユーザーとして行う |
必要に応じて -Y または -B オプションを /lib/svc/method/nisplus ファイルに追加してから、NIS+ サービスを有効にする svcadm enable /network/rpc/nisplus |
サーバーをルート複製サーバーにする |
ルートマスターサーバー。スーパーユーザーとして行う |
nisserver-R-d domain. -h clientname |
サーバーをルート以外のマスターサーバーにする |
ルートマスターサーバー。スーパーユーザーとして行う |
nisserver -M-d newsubdomain.domain. -h\clientmachine |
ファイルまたは NIS マップから新しいマスターサーバーテーブルを生成する |
新しいサブドメインマスターサーバー。スーパーユーザーとして行う |
nispopulate -F-p/subdomaindirectory -d \ newsubdomain.domain. または nispopulate-Y-dnewsubdomain .domain.-h NISservername -aNIS_server_ipaddress -y NIS_domain |
クライアントをマスターサーバーの複製にする |
サブドメインマスターサーバー。スーパーユーザーとして行う |
nisserver-R-dsubdomain .domain パターンを使用して名前を付けることができます。-h clientname |
サブドメインの新しいクライアントを初期設定する。クライアントは、サブドメインの複製またはそのほかのサーバーにできる |
新しいサブドメインクライアントマシン。スーパーユーザーとして行う |
nisclient -i -d newsubdomain.domain パターンを使用して名前を付けることができます。-h \ subdomainmaster |
ユーザーを NIS+ クライアントとして初期設定する |
クライアントマシン。ユーザーとして行う |
nisclient -u |
実際にコマンドを実行させないで、しかも NIS+ スクリプトがどんなコマンドを呼び出すかを表示するには、-x オプションを使います。-x オプションによって、あたかも実際にスクリプトを実行しているかのように、それらのコマンド名とそれぞれのおおよその出力を画面に表示できます。最初に -x を指定してスクリプトを実行すれば、結果を先に見ることができます。詳細は各スクリプトのマニュアルページを参照してください。
NIS+ ドメインを設定するための最初の作業が、ルートマスターサーバーの設定です。この節では、nisserver スクリプトを使用してデフォルト設定でルートマスターサーバーを構成する方法を説明します。ルートマスターサーバーは、次のデフォルトを使用します。
セキュリティレベル 2 (DES) - NIS+ セキュリティの最高レベル
NIS 互換を OFF に設定 (NIS 互換に設定する方法も記述)
ネームサービス情報の情報源としてシステム情報ファイル (/etc) または NIS マップ
NIS+ グループとして admin. domainname
nisserver スクリプトは、ルートマスターサーバーを設定するときに、ネームサービススイッチファイルを NIS+ 用に変更します。/etc/nsswitch.conf ファイルは後で変更できます。ネームサービススイッチについては、第 1 章「ネームサービススイッチ」を参照してください。
ルートマスターサーバーにしたいマシンの /etc/passwd ファイルに root のエントリがあるかどうかを確認します。
nisserver を実行する前に、次の情報が必要になります。
マシン (ルートマスターサーバーにする) のスーパーユーザーのパスワード
新しいルートドメイン名。ルートドメイン名は少なくとも 2 つの要素 (ラベル) で構成され、その末尾にドット (ピリオド) が打たれていなければならない (例: something.com)。最後 (右端) のラベルは自由につけられますが、インターネット上の互換性を維持するためには、表 4–3 に示されるようなインターネットの組織名、または 2、3 文字の地域識別子 (日本であれば .jp) をつける必要があります。
ドメイン |
目的 |
---|---|
com |
営利団体 |
edu |
教育機関 |
gov |
行政機関 |
mil |
軍事組織 |
net |
主要ネットワークサポートセンター |
org |
非営利団体 |
int |
国際組織 |
次の例では、ルートマスターサーバーに指定するマシンは master1 で、doc.com. が新しいルートドメインになります。
またドメイン名とホスト名が同じにならないようにします。たとえば、ルートドメインに doc.com. という名前を付けている場合、ドメイン内で使用するマシンには doc という名前は付けないでください。同様に、home というホスト名がある場合には、ドメイン名に home を使用できません。これは、サブドメインについても同様です。たとえば、すでにホスト名として west がある場合には、sales.west.doc.com というサブドメインを作成することはできません。
スーパーユーザーの PATH
変数に /usr/lib/nis を追加します。
このパスを root の .cshrc または .profile ファイルに追加するか、または変数を直接設定します。
DES 認証を使用する場合には、オプションで、Diffie-Hellman キー長を指定します。
640 ビットの Diffie-Hellman キーとデフォルトの 192 ビットのキーを使用するには、以下を入力します。
nisauthconf dh640-0 des |
640 ビットのキーだけを許可し、192 ビットのキーを拒否するには、以下を入力します。
nisauthconf dh640-0 |
次のコマンドをスーパーユーザー (root) として入力し、ルートマスターサーバーを構成します。
-r オプションはルートマスターサーバーを構成することを示します。-d オプションは NIS+ ドメイン名を指定します。
master1# nisserver -r -d doc.com. This script sets up this machine “master1” as a NIS+ root master server for domain doc.com. Domain name : doc.com. NIS+ group : admin.doc.com. NIS (YP) compatibility : OFF Security level : 2=DES Is this information correct? (type 'y' to accept, 'n' to change) |
「NIS+ グループ」は、doc.com. ドメイン (ドメイン名は常にピリオドで終了する) の情報を変更する権限を持つユーザーのグループです。 NIS+ グループは、ドメインを削除することもできます。NIS+ グループのデフォルト名は、admin.domainname です。この名前の変更方法については、「誤った情報を変更する方法」を参照してください。
「NIS 互換」とは、NIS+ サーバーが NIS クライアントからの情報要求を受け付けるかどうかを意味します。デフォルト設定の OFF に設定されている場合、NIS+ サーバーは NIS クライアントからの要求を処理しません。ON に設定されている場合、NIS+ サーバーはこの要求を処理します。このスクリプトでは、NIS 互換設定を変更できます。「誤った情報を変更する方法」を参照してください。
このスクリプトは、マシンを NIS+ セキュリティの最高レベルであるセキュリティレベル 2 で設定します。このスクリプトを使用する場合、セキュリティレベルを変更できません。スクリプトが終了した後、適切な NIS+ コマンドでセキュリティレベルを変更できます。セキュリティレベルの変更の詳細については、rpc.nisd のマニュアルページを参照してください。
y を入力します (画面の情報が正しい場合)。
n を入力すると、スクリプトは正しい情報の入力を要求します。n を入力した場合の操作については、「誤った情報を変更する方法」を参照してください。
Is this information correct? (type 'y' to accept, 'n'' to change) y This script will set up your machine as a root master server for domain doc.com. without NIS compatibility at security level 2. Use "nisclient -r" to restore your current network service environment. Do you want to continue? (type `y' to continue, `n' to exit the script) |
y を入力して、NIS+ の構成を続けます。
n を入力するとスクリプトは問題なく終了します。y を選んだ後でスクリプトの実行中にスクリプトを中断した場合、スクリプトは動作を停止し、それまでに作成された構成内容はそのまま残されます。スクリプトは自動回復や後始末は行いません。このスクリプトはいつでも再実行できます。
Do you want to continue? (type 'y' to continue, 'n' to exit the script y setting up domain information “doc.com.” ... setting up switch information ... running nisinit ... This machine is in the doc.com. NIS+ domain. Setting up root server ... All done. starting root server at security level 0 to create credentials... running nissetup ... (creating standard directories & tables) org_dir.doc.com. created Enter login password: |
プロンプトに対してマシンの root パスワードを入力し、Return キーを押します。
この例の場合、ユーザーは master1 マシンの root パスワードを入力しています。
Wrote secret key into /etc/.rootkey setting NIS+ group to admin.doc.com. ... restarting root server at security level 2 ... This system is now configured as a root server for domain doc.com. You can now populate the standard NIS+ tables by using the nispopulate or /usr/lib/nis/nisaddent commands. |
これでルートマスターサーバーが構成され、NIS+ の標準テーブルを生成する用意が整いました。続けてテーブルを生成する場合は、「NIS+ テーブルの生成 (populate)」に進みます。
上記の手順 4 で返された情報の一部あるいは全部が誤っていたために n を入力した場合、次のように表示されます。
Is this information correct? (type 'y' to accept, 'n' to change) n Domain name: [doc.com.] |
ドメイン名が正しい場合は Return キーを押します。誤っている場合は、正しいドメイン名を入力して Return キーを押します。
この例では、Return キーを押して、目的のドメイン名が doc.com. であることを確定しました。次に、このスクリプトは NIS+ グループ名の確認を要求します。
Is this information correct? (type 'y' to accept, 'n' to change) n Domain name: [doc.com.] NIS+ group: [admin.doc.com.] |
NIS+ グループが正しければ Return キーを押します。間違っている場合、正しい NIS+ グループ名を入力して Return キーを押します。
この例では、名前を変更しました。次に、スクリプトは NIS 互換性の入力を要求します。
NIS+ group: [admin.doc.com.] netadmin.doc.com. NIS (YP) compatibility (0=off, 1=on): [0] |
NIS 互換性を必要としない場合は Return キーを押します。互換性が必要な場合は 1 を入力して Return キーを押します。
この例では、Return キーを押して、NIS 互換の状態が正しいことを確認しました。スクリプトは、情報が正しいかどうかを再度尋ねてきます。
このサーバーを NIS 互換に選択した場合、この選択を有効にするには、ファイルを編集して、rpc.nisd デーモンを再起動する必要があります。詳細については、「クライアントを NIS+ サーバーとして構成する方法」を参照してください。
NIS (YP) compatibility (0=off, 1=on): [0] Domain name : doc.com. NIS+ group : netadmin.doc.com. NIS (YP) compatibility : OFF Security level : 2=DES Is this information correct? (type 'y' to accept, 'n' to change) |
情報が正しい場合、「ルートマスターサーバーを作成する方法」の手順 3 に移ります。正しい情報となるまで、n を繰り返し選択できます。
Multihomed NIS+ サーバーを設定する手順は、単一インタフェースサーバーの設定手順と同じです。唯一の相違点は、ローカルの /etc/hosts ファイル、/etc/inet/ipnodesファイルと NIS+ の hosts テーブルおよび ipnodes テーブル内に定義する必要があるインタフェースが、単一インタフェースサーバーよりも多いという点です。ホスト情報を定義したら、nisclient と nisserver スクリプトを使用して Multihomed NIS+ サーバーを設定します。Multihomed 複製サーバーの設定の詳細は、「Multihomed NIS+ 複製サーバーの設定方法」を参照してください。
Multihomed NIS+ サーバーを設定する場合は、サーバーの主体名はシステムのノード名と同じにする必要があります。これは、Secured RPC と nisclient を同時に使用する際の必要条件です。
Secured RPC は、ノード名を使用して認証に必要なネット名を作成する
nisclient は、主体名を使用してクライアントの資格を作成する
次に、NIS+ ルートマスターサーバーの設定手順を示します。
ルートマスター上で、サーバーのホスト情報を /etc/hosts ファイルまたは /etc/inet/ipnodes ファイル内に追加します。
たとえば、3 つの Ethernet インタフェースを装備した hostA システムの場合、/etc/hosts ファイルには次のように入力します。
127.0.0.1 localhost loghost 192.168.10.x hostA hostA-10 hostA-eri0 192.168.11.y hostA hostA-11 hostA-eri1 192.168.12.z hostA hostA-12 |
nisserver を使用して、サーバーを multihomed NIS+ ルートサーバーとして設定します。
hostA# nisserver -r -d sun.com |
上記の例では、sun.com はルートドメイン名を表しています。ルートドメイン名を指定して nisserver コマンドを実行してください。
multihomed NIS+ ルートサーバーの設定が完了したら、このあとの設定手順は、単一インタフェースサーバーの設定手順とまったく同じです。
ルートマスターサーバーの構成が終了すると、ほかのネットワークサービスの情報から標準の NIS+ テーブルを生成できます。この節では、nispopulate(1M) スクリプトをデフォルトの設定で使用して、ファイルまたは NIS マップのデータからルートマスターサーバーのテーブルを生成する方法を説明します。このスクリプトは次のものを使用します。
前の例で作成されたドメイン (doc.com. )
ネットワークサービスのソースとしてシステム情報ファイルまたは NIS マップ
標準の NIS+ テーブル: auto_master、auto_home、ethers、group、 hosts、networks、passwd、protocols、services、rpc、netmasks、 bootparams、netgroup および aliases
テーブルの情報源がファイルである場合、shadow ファイルの内容が passwd ファイルの内容とマージされて passwd テーブルが作成されます。shadow テーブルは作成されません。
nispopulate スクリプトを実行するには、次の条件を満たしている必要があります。
データを読み込むローカルの /etc 内の各ファイルまたは NIS マップを表示します。不正なエントリがないことを確認します。正しいデータが、所定の場所に正しい書式で記録されていることを確認します。エントリのうち、古いもの、無効なもの、破損しているものは削除します。また、不完全なエントリや一部のみのエントリも削除します。構成完了後は、いつでもエントリを追加できます。必要なエントリをあとから追加する方が、不完全なエントリや破損しているエントリを読み込もうとするよりも簡単です。
ファイル内の情報は、ロード先のテーブルに合った書式で書かれていなければなりません。対応する NIS+ テーブルに変換するときに使用するテキストファイルの書式については、第 9 章「NIS+ テーブルの設定」を参照してください。
ドメイン名とホスト名が同一でないことを確認します。ドメインとホストで同じ名前は使用しないでください。たとえば、sales ドメインがある場合は、ホスト名に sales を使用することはできません。同様に、home というホスト名がある場合には、ドメイン名に home を使用できません。これは、サブドメインについても同様です。たとえば、マシンに west という名前を付けている場合、sales.west.doc.com というサブドメインを作成しないでください。
ホスト名のドットと下線はすべて削除します。NIS+ では、ドット (ピリオド) をマシン名とドメインの間、および親ドメインとサブドメインの間の区切りに使用するため、ドットをマシン名に使うことはできません。DNS ではホスト名に下線を使うことを認めていませんので、ホスト名に下線を使うことはできません。nispopulate スクリプトを実行する前に、ホスト名で使用されているドットを必ず削除してください。ドットをハイフンに置き換えるのも 1 つの手です。たとえば、sales.alpha というマシン名を付けることはできません。この名前は、sales-alpha に置き換えることができます (使用可能なホスト名の詳細については、 hosts のマニュアルページを参照してください)。
ネットワークをはじめて設定する場合、多くのネットワーク情報をすでにどこかに格納しているということはおそらくないでしょう。このような場合、まずネットワーク情報を集め、「入力ファイル」に手入力する必要があります。 このファイルは、基本的に /etc 内のファイルに対応するものです。
安全のため、/etc 内のファイルのコピーを作成します。実際のファイルは使用せずに、作成したコピーを使用してテーブルを生成してください。たとえば、この例では /nisplusfiles というディレクトリ内のファイルを使用します。
コピーした 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+ テーブルに対する書き込み権を保持する必要があります。この例では、マシン master1 上の root ユーザーでなければなりません。
ファイルから生成する場合、次の情報が必要です。
新しい NIS+ ドメイン名
データが転送される、適切に編集されたテキストファイルのパス
ルートパスワード
NIS マップから生成する場合、次の情報が必要です。
新しい NIS+ ドメイン名
NIS ドメイン名
NIS サーバー名
NIS サーバーの IP アドレス
ルートパスワード
NIS ドメインの名前は大文字と小文字を区別しますが、NIS+ ドメインの名前は区別しません。
「a」または「b」を実行してルートマスターサーバーテーブルを生成し、手順 2 に進みます。
「a」では、ファイルからテーブルを生成する方法を示します。「b」では、NIS マップからテーブルを生成する方法を示します。これらのコマンドはスクロールできるウィンドウ内で実行します。そうしないと、スクリプトの出力がスクロールされず読めないことがあります。
システム上の /tmp 領域が不足する場合、nispopulate スクリプトは異常終了することがあります。これを防止するには、環境変数 TMPDIR
に別のディレクトリを設定します。TMPDIR
に有効なディレクトリが設定されていない場合、スクリプトは /tmp ディレクトリを使用します。
次のように入力して、ファイルからテーブルを生成します。
master1# nispopulate -F -p /nis+files -d doc.com. NIS+ domain name : doc.com. Directory Path : /nis+files Is this information correct? (type 'y' to accept, 'n' to change) |
-F オプションは、テーブルがデータをファイルから取り出すことを示します。-p オプションには、ソースファイルのディレクトリ検索パスを指定します (この例では、/nis+files を指定します)。-d オプションは NIS+ ドメイン名を指定します (この例では、doc.com.を指定します)。
NIS+ 主体のユーザーは root です。この例では、はじめてルートマスターサーバーのテーブルを生成することになるため、この作業はスーパーユーザーとして実行しなければなりません。nispopulate スクリプトは、NIS+ 管理グループのすべてのメンバーの資格を追加します。
次のように入力して、NIS マップからテーブルを生成します。
master1# nispopulate -Y -d doc.com. -h salesmaster -a 130.48.58.111 -y sales.doc.com. NIS+ domain name : doc.com. NIS (YP) domain : sales.doc.com. NIS (YP) server hostname : salesmaster Is this information correct? (type 'y' to accept, 'n' to change) |
-Y オプションは、テーブルがデータを NIS マップから取り出すことを示します。-d オプションは NIS+ ドメイン名を指定します。-h オプションは、NIS サーバーのマシン名を指定します。salesmaster は NIS サーバーの名前の例です。サンプルドメインを作成する際は、salesmaster の代わりに、サイトでの実際の NIS サーバー名を指定してください。-a オプションは、NIS サーバーの IP アドレスを指定します。130.48.58.111 はアドレスの例です。サンプルドメインを作成する際は、サイトでの実際の NIS サーバーの IP アドレスを指定してください。-y オプションは、NIS ドメイン名を指定します。この例では、ドメイン名は sales.doc.com.です。サンプルドメインを作成する際は、sales.doc.com. の代わりに、サイトでの実際の NIS ドメインの NIS ドメイン名を指定してください。
NIS+ 主体のユーザーは root です。この例では、はじめてルートマスターサーバーのテーブルを生成することになるため、この作業はスーパーユーザーとして実行しなければなりません。nispopulate(1M) スクリプトは、NIS+ 管理グループのすべてのメンバーの資格を追加します。
y を入力します (画面に表示された情報が正しい場合)。
n を入力すると、スクリプトは正しい情報の入力を要求します。情報が誤っている場合の操作は、「誤った情報を変更する方法」を参照してください。
手順 1 の「a」を実行すると、次のように表示されます。
Is this information correct? (type 'y' to accept, 'n' to change) y This script will populate the following NIS+ tables for domain doc.com. from the files in /nis+files: auto_master auto_home ethers group hosts networks passwd protocols services rpc netmasks bootparams netgroup aliases shadow **WARNING: Interrupting this script after choosing to continue may leave the tables only partially populated. This script does not do any automatic recovery or cleanup. Do you want to continue? (type 'y' to continue, 'n' to exit this script) |
手順 1 の「b」を実行すると、次のように表示されます。
Is this information correct? (type 'y' to accept, 'n' to change) y This script will populate the following NIS+ tables for domain doc.com. from the NIS (YP) maps in domain sales: auto_master auto_home ethers group hosts networks passwd protocols services rpc netmasks bootparams netgroup aliases **WARNING: Interrupting this script after choosing to continue may leave the tables only partially populated. This script does not do any automatic recovery or cleanup. Do you want to continue? (type 'y' to continue, 'n' to exit this script) |
y を入力して、テーブルの生成を続けます。
n を入力するとスクリプトは問題なく終了します。y を選択した後で、スクリプトの実行中にスクリプトを中断した場合、スクリプトは動作を停止し、テーブルは一部だけが生成された状態になることがあります。 スクリプトは自動回復や後始末は行いません。このスクリプトは安全に再実行できますが、テーブルは最新の情報で上書きされます。
ファイルからテーブルを生成する場合、スクリプトが hosts 情報と passwd 情報に基づいてホストとユーザーの資格を作成することを示す、次のようなメッセージが表示されます。
Do you want to continue? (type 'y' to continue, 'n' to exit this script) y populating auto_master table from file /nis+files/auto_master ... auto_master table done. populating auto_home table from file /nis+files/auto_home ... auto_home table done. Credentials have been added for the entries in the hosts and passwd table(s). Each entry was given a default network password (also known as a Secure- RPC password). This password is: nisplus Use this password when the nisclient script requests the network password. Done! |
Secure RPC パスワード (上の例では nisplus) は必ず控えておき、忘れないようにしてください。ネットワークパスワードまたは Secure RPC パスワードを求められたら、ここで控えておいたパスワードを入力します。
スクリプトは、必要なすべてのファイルを検索し、使用できるファイルからすべてのテーブルを生成します。
NIS マップからテーブルを生成する場合、スクリプトが hosts
と passwd
の情報に基づいてホストとユーザーの資格を作成する際に、次の内容が表示されます。
Do you want to continue? (type 'y' to continue, 'n' to exit this script) y populating auto_master table from sales.doc.com. NIS(YP) domain... auto_master table done. populating auto_home table from file sales.doc.com. NIS(YP) domain... auto_home table done. .... Credentials have been added for the entries in the hosts and passwd table(s). Each entry was given a default network password (also known as a Secure-RPC password). This password is: nisplus Use this password when the nisclient script requests the network password. Done! |
Secure RPC パスワード (上の例では nisplus) は必ず控えておき、忘れないようにしてください。ネットワークパスワードまたは Secure RPC パスワードを求められたら、ここで控えておいたパスワードを入力します。
これですべてのテーブルが生成されました。parse error という警告が表示されるかもしれませんが無視してかまいません。これらのエラーは、NIS+ が特定の NIS マップのフィールドで空の値または予期せぬ値を見つけたことを示します。必要に応じて、スクリプト終了後、データを検証してください。
ルートドメインの管理グループに自分自身とほかの管理者を追加します (必要に応じて) 。
たとえば、自分自身のログイン ID が topadm で、ほかの管理者の ID が secondadmin の場合、次のように入力します。
master1# nisgrpadm -a admin.doc.com. topadm.doc.com. secondadm.doc.com. Added “topadm.doc.com.” to group “admin.doc.com.”. Added “secondadm.doc.com.” to group “admin.doc.com.”. |
上記の nisgrpadm -a コマンドの引数 admin.doc.com. は、グループ名を表し、最初に記述しなければなりません。残りの 2 つの引数は管理者名です。
この時点で管理グループにユーザーを追加したい場合にだけ、この手順が必要です。ルートサーバーに管理者を追加するには、この時点で行います。NIS+ を構成した後でも、管理グループにユーザーを追加できます。
この手順を実行するには、ほかの管理者がデフォルトパスワードを変更するまで待つ必要はありません。ただし、管理グループにほかの管理者を追加する場合は、事前に passwd テーブルに管理者が登録されている必要があります。管理グループのメンバーは、ドメインに自分自身を追加しなければ、NIS+ 主体として行動できません。ユーザーの初期設定については、「NIS+ ユーザーを初期設定する方法」を参照してください。また、新規にメンバーが登録されても、管理グループに対する古いキャッシュが破棄された後でなければ有効になりません。
次のコマンドを入力して、ドメインのチェックポイントを実行します。
master1# nisping -C doc.com. Checkpointing replicas serving directory doc.com. Master server is master1.doc.com. Last update occurred at date Master server is master1.doc.com. checkpoint scheduled on master1.doc.com. |
この手順によって、そのドメインをサポートする全サーバーは、初期設定 (.log) ファイルから新しい情報をテーブルのディスク上のコピーに転送します。ルートドメインの設定が終了したばかりであるため、このルートドメインにはまだ複製が存在せず、この手順はルートマスターサーバーにだけ影響を与えます。
スワップ領域またはディスク領域が不足している場合、サーバーは適切にチェックポイントを実行できませんが、その旨の通知は行われません。スワップ領域またはディスク領域が不足していないか確認するには、niscat コマンドでテーブルの内容を表示します。たとえば、rpc テーブルの内容をチェックするには、次のように入力します。
master1# niscat rpc.org_dir rpcbind rpcbind 100000 rpcbind portmap 100000 rpcbind sunrpc 100000 |
スワップ領域が不足していると「チェックポイントを実行できない」という旨のメッセージではなく、次のエラーメッセージが表示されます。
can't list table: Server busy, Try Again. |
このメッセージには明示されていませんが、これはスワップ領域の不足を示します。スワップ空間を増やし、このドメインに再びチェックポイントを実行します。
ルートマスターサーバーのテーブルがファイルまたは NIS マップから生成されると、NIS+ クライアントマシンを初期設定できます。ルートマスターサーバーは自分のドメインの NIS+ クライアントであるため、ルートマスターサーバーをこれ以上初期設定する必要はありません。この節では、デフォルト設定の nisclient スクリプトを使用して、NIS+ クライアントを初期設定する方法を説明します。次のスクリプトを使用します。
前の例で使用したドメイン doc.com.
前の例で、nispopulate スクリプトによって作成された Secure RPC パスワード (ネットワークパスワードとも呼ばれる。デフォルトは nisplus)
「新しいクライアントマシンを初期設定する方法」で使用する -i オプションでは、DNS を使用してホスト名を検索するような NIS+ クライアントを構成しません。DNS を使用する場合には、ネームサービススイッチファイルの中でクライアント用に、DNS を明確に指定しなければなりません。
nisclient スクリプトを実行するには、次の条件を満たしている必要があります。
ドメインがすでに構成され、そのマスターサーバーが実行されている
ドメインのマスターサーバーのテーブルが生成されている (少なくとも、hosts テーブルまたは ipnodes テーブルには新しいクライアントマシンのエントリが必要)
NIS+ クライアントとなるマシンにスーパーユーザーとしてログインしている。この例では、新しいクライアントマシン名は client1
nisclient を実行するには、次の情報が必要です。
ドメイン名
デフォルトの Secure RPC パスワード (nisplus)
クライアントとなるマシンの root パスワード
クライアントのホームドメインにある NIS+ サーバーの IP アドレス
DES 認証を使用する場合には、マスターサーバー上で、Diffie-Hellman キー長が使用される。nisauthconf を使用して、マスターサーバー上で Diffie-Hellman キー長を確認する
DES 認証を使用する場合には、オプションで、Diffie-Hellman キー長を指定します。
マスターサーバー上で以下を入力します。
nisauthconf |
クライアントマシン上で nisauthconf コマンドを実行するときは、上記コマンドの出力を引数として使用します。たとえば、マスターサーバー上で nisauthconf を実行すると
dh640dh-0 des |
と出力される場合には、クライアントマシン上で次のコマンドを入力します。
nisauthconf dh640dh-0 des |
次のコマンドを入力して、新しいクライアントマシン上で新しいクライアントを初期設定します。
-i オプションはクライアントを初期設定します。-d オプションは新しい NIS+ ドメイン名を指定します。ドメイン名が指定されていない場合、デフォルトは現在のドメイン名です。-h オプションは NIS+ サーバーのホスト名を指定します。
client1# nisclient -i -d doc.com. -h master1 Initializing client client1 for domain “doc.com.”. Once initialization is done, you will need to reboot your machine. Do you want to continue? (type 'y' to continue, 'n' to exit this script) |
y を入力します。
n を入力するとスクリプトが終了します。クライアントの /etc/hosts ファイルまたは /etc/inet/ipnodes ファイルにルートサーバーのエントリがない場合、スクリプトはルートサーバーの IP アドレスの入力を指示します。
Do you want to continue? (type 'y' to continue, 'n' to exit this script) y Type server master1's IP address: |
正しい IP アドレスを入力して、Return キーを押します。
この例では、アドレス 123.123.123.123 を使用します。
Type server master1's IP address: 123.123.123.123 setting up the domain information... setting up the name service switch information... At the prompt below, type the network password (also known as the Secure-RPC password) that you obtained either from your administrator or from running the nispopulate script. Please enter the Secure-RPC password for root: |
Secure RPC パスワード (ネットワークパスワード) がルートのログインパスワードと異なる場合のみ、Secure RPC パスワードを入力します。
この例では、デフォルトの nisplus を使用します。
パスワードは画面に表示されません。入力を誤った場合、正しいパスワードを入力するよう要求されます。2 回目も入力を誤った場合、スクリプトが終了し、前回のネットワークサービスが復元されます。この場合、スクリプトを再度実行してください。
Please enter the login password for root: |
このクライアントマシンの root パスワードを入力します。
パスワードは画面に表示されません。ネットワークパスワードと root のログインパスワードが同じ場合、root のログインパスワードの入力要求はありません。
root パスワードを入力すると、このマシンの資格が変更されます。ここで、このマシンでは RPC パスワードと root パスワードが同じになります。
Please enter the login password for root: Wrote secret key into /etc/.rootkey Your network password has been changed to your login one. Your network and login passwords are now the same. Client initialization completed!! Please reboot your machine for changes to take effect. |
クライアントマシンを再起動します。
ここで行なった変更は、マシンを再起動すると有効になります。
以上の手順により、この NIS+ クライアントマシンのユーザーを NIS+ ドメインに追加できるようになりました。
これまでに説明したクライアントの初期設定手順を、必要な各マシンで繰り返します。ほかのドメインのクライアントを初期設定するには、ドメイン名とマスターサーバー名を適宜変更して、上記の手順を繰り返します。
この章で説明する NIS+ ドメインのサンプルでは、ドメイン doc.com. 内の 4 台のクライアントを初期設定すると想定しています。そして、このうち 2 台のクライアントをルート以外の NIS+ サーバーとして構成し、3 番目のクライアントを doc.com. ドメインのルートマスターサーバーのルート複製サーバーとして構成します。
システムをサーバーにするには、システムをどの種類のサーバーにするにしても、事前にシステムを親ドメインのクライアントにしておく必要があります。
マシンが NIS+ クライアントになったら、そのマシンのユーザーは自分自身を NIS+ ドメインに追加しなければなりません。ユーザーをドメインに追加するということは、Secure RPC パスワードをそのユーザーのログインパスワードに変更することを意味します。実際には、ユーザーのパスワードと Secure RPC パスワードが同じになります。この手順では nisclient(1M) スクリプトを使用します。
nisclient スクリプトを使用してユーザーを初期設定するには、次の条件を満たしている必要があります。
ドメインがすでに構成され、そのマスターサーバーが実行されている
ドメインのマスターサーバーのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが必要
ドメイン内のクライアントマシンが初期設定されている
クライアントマシンに「ユーザー」としてログインしている (この例では、ユーザー名は user1)
DES 認証を使用する場合には、クライアントマシンでマスターサーバーと同じ Diffie-Hellman キー設定を使用している
nisclient を実行するには、次の情報が必要です。
ユーザーのログイン名 (この例では user1)
デフォルトの Secure RPC パスワード (この例では nisplus)
NIS+ クライアントになるユーザーのログインパスワード
NIS+ クライアントになるユーザーとしてログインして、次のように nisclient コマンドを入力します。
user1prompt% nisclient -u At the prompt below, type the network password (also known as the Secure-RPC password) that you obtained either from your administrator or from running the nispopulate script. Please enter the Secure-RPC password for user1: |
Secure RPC パスワード (この例では nisplus) を入力します。
パスワードは画面に表示されません。
Please enter the login password for user1: |
ユーザーのログインパスワードを入力し、Return キーを押します。
パスワードは画面に表示されません。
Your network password has been changed to your login one. Your network and login passwords are now the same |
これで、このユーザーは NIS+ クライアントになりました。全ユーザーを NIS+ クライアントにする必要があります。
初期設定が終了したら、どのクライアントマシンも次の NIS+ サーバーに変更できます。
ルート複製サーバー (ルートマスターサーバー上にある NIS+ テーブルのコピーを格納する)
ルートドメインのサブドメインのマスターサーバー
ルートドメインのサブドメインのマスターサーバーの複製サーバー
NIS+ マスタールートサーバーは 1 つしか持てません。ルート NIS+ サーバーは特殊な NIS+ サーバーです。この節ではルートマスターサーバーの構成方法は説明しません。詳細は、「NIS+ ルートサーバーの設定」 を参照してください。
サーバーを構成する場合、次の 3 つの設定があります。
NIS と互換性なし
NIS と互換性あり
NIS との互換性と DNS 転送あり - NIS+ 名前空間に Sun OS 4.x クライアントを配置する場合は、DNS 転送を設定する必要があります。
サーバーとその複製は、NIS 互換についての設定が同じでなければなりません。設定が異なる場合、ネットワーク情報を受信するために NIS 互換の設定を必要とするクライアントは、必要なサーバーまたは複製サーバーを使用できなければ、この情報を受信できません。
svcadm を使用してコマンド行から NIS+ サービスを起動するには、次の条件が満たされていることを確認してください。
ドメインがすでに構成され、そのマスターサーバーが実行されている
ドメインのマスターサーバーのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが必要
ドメイン内のクライアントマシンが初期設定されている
クライアントマシンにスーパーユーザーとしてログインしている (この例では、クライアントマシン名は client1)
DES 認証を使用する場合には、クライアントマシンでマスターサーバーと同じ Diffie-Hellman キー設定を使用している
svcadm コマンドを使用して NIS+ サービスを起動するには、サーバーに変換するクライアントのスーパーユーザーパスワードが必要です。
クライアントをサーバーとして構成するには、次の手順のどれかを実行します。この手順では、サーバーと同じ名前のディレクトリを作成し、サーバーの初期設定ファイルを作成します。これらは /var/nis に置かれます。
同じドメイン内のすべてのサーバーは、NIS 互換の設定が同じでなければなりません。たとえば、マスターサーバーが NIS 互換である場合、その複製も NIS 互換でなければなりません。
この手順を実行するには、スーパーユーザーになるか、同等の役割になる必要があります。
/lib/svc/method/nisplus ファイルを表示して、-Y オプションが含まれていないことを確認します。
詳細については、「NIS+ とサービス管理機能」を参照してください。
NIS+ サービスを開始します。
この手順を実行するには、スーパーユーザーになるか、同等の役割になる必要があります。
client1# svcadm enable /network/rpc/nisplus:default |
これで、このサーバーはドメインのマスターまたは複製として指定できます。
この手順を実行するには、スーパーユーザーになるか、同等の役割になる必要があります。
サーバー上で /lib/svc/method/nisplus ファイルを編集して -Y オプションを追加します。
詳細については、「NIS+ とサービス管理機能」を参照してください。
NIS+ サービスを開始します。
この手順を実行するには、スーパーユーザーになるか、同等の役割になる必要があります。
client1# svcadm enable /network/rpc/nisplus |
これで、このサーバーはドメインのマスターまたは複製として指定できます。
次の手順を実行して、DNS 転送と NIS との互換性の両方の機能を備えた NIS+ サーバーを構成します。SunOS 4.x クライアントをサポートするには、両方の機能が必要です。
この手順を実行するには、スーパーユーザーになるか、同等の役割になる必要があります。
サーバー上で /lib/svc/method/nisplus ファイルを編集して -Y オプションと -B オプションを追加します。
詳細については、「NIS+ とサービス管理機能」を参照してください。
NIS+ サービスを開始します。
この手順を実行するには、スーパーユーザーになるか、同等の役割になる必要があります。
client1# svcadm enable /network/rpc/nisplus:default |
これで、このサーバーはドメインのマスターまたは複製として指定できます。
これまでのクライアントをサーバーに変更する手順を、必要なクライアントマシンごとに繰り返します。
この章で説明する NIS+ サンプルドメインは、3 台のクライアントをサーバーに変更すると想定しています。そして、サーバーの 1 台をルート複製サーバーに、もう 1 台を新しいサブドメインのマスターに、そして 3 台目を新しいサブドメインのマスターの複製に構成します。
NIS+ サービスを常に利用可能な状態にしておくため、ルート複製サーバーを少なくとも 1 つは作成しておくことをお勧めします。複製サーバーを作成すると複数のサーバーが存在することになり、要求の処理を分散させることができるため、ネットワーク要求の処理も高速化されます。
パフォーマンス上の理由から、1 つのドメインに多くの複製サーバーを置くことはお勧めできません。ネットワークが複数のサブネットで構成されている場合、あるいは広域ネットワーク (WAN) でリモートサイトに接続されている場合には、複製サーバーを追加すると良い場合があります。
「サブネット」。複数のサブネットで構成されているドメインの場合、各サブネットに複製サーバーを少なくとも 1 つは作成することをお勧めします。そうしておけば、ネットワーク間の通信が一時的に途絶しても、接続が回復するまでの間、サブネットレベルの機能は維持されます。
「リモートサイト」。WAN によりリモートサイトに接続されているドメインの場合、WAN 接続の両側に複製サーバーを少なくとも 1 つは作成することをお勧めします。組織論的な見地からしても、同一の NIS+ ドメインに物理的に離れた 2 つのサイトがあるのは意味のあることです。たとえば、ドメイン内のマスターサーバーとその複製サーバーがすべて一方のサイトに置かれている場合、そのサイトともう一方のサイトとの間の NIS+ ネットワークトラフィックが増大するのは目に見えています。もう一方のサイトにも複製サーバーを置いておけば、ネットワークトラフィックが減るはずです。
最適な複製サーバー数の決定方法については、「ルート複製サーバーの作成」を参照してください。
「ルート複製サーバーを作成する方法」では、マシン client1 を doc.com. ドメインのルート複製サーバーとして構成します。この手順では、NIS+ スクリプトの nisserver を使用します。「NIS+ コマンドを使って複製サーバーを構成する」で説明しているように、NIS+ コマンドを使用して複製サーバーを構成することもできます。
nisserver を実行して複製サーバーを作成するには、次の条件を満たしている必要があります。
ドメインがすでに構成され、マスターサーバーが稼働している
マスターサーバーのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが必要
新たに作成したサーバーをそのドメインのクライアントマシンとして初期設定している (具体的な手順については、「NIS+ クライアントマシンの設定」を参照)
新たに作成した複製サーバー上で NIS+ サービス (rpc.nisd) を起動している (具体的な手順については、「NIS+ サーバーの設定」を参照)
ルートマスターサーバーにスーパーユーザーとしてログインしている。この例では、ルートマスターマシン名は master1
nisserver を実行するには、次の情報が必要です。
ドメイン名
クライアントマシン名 (この例では、client1)
ルートマスターサーバーのスーパーユーザーのパスワード
NIS+ ドメインのルートマスターサーバー上でスーパーユーザー (root) として次のように入力して、ルート複製サーバーを作成します。
master1# nisserver -R -d doc.com. -h client1 This script sets up a NIS+ replica server for domain doc.com. Domain name: :doc.com. NIS+ server : :client1 Is this information correct? (type 'y' to accept, 'n' to change) |
-R オプションは、複製サーバーを構成することを示します。-d オプションは NIS+ ドメイン名 (このサンプルでは doc.com.) を指定します。-h オプションはルート複製サーバーとなるクライアントマシン (この例では client1) を指定します。
y を入力して操作を続けます。
n を入力すると、スクリプトは正しい情報の入力を要求します。n を入力した場合の操作については、「誤った情報を変更する方法」を参照してください。
Is this information correct? (type 'y' to accept, 'n' to change) y This script will set up machine “client1” as an NIS+ replica server for domain doc.com. without NIS compatibility. The NIS+ server daemon, rpc.nisd, must be running on client1 with the proper options to serve this domain. Do you want to continue? (type 'y' to continue, 'n' to exit this script) |
y を入力して操作を続けます。
n を入力するとスクリプトは問題なく終了します。クライアントマシン上で rpc.nisd が動作していない場合、スクリプトは自動的に終了します。
Is this information correct? (type 'y' to continue, 'n' to exit this script) y The system client1 is now configured as a replica server for domain doc.com.. The NIS+ server daemon, rpc.nisd, must be running on client1 with the proper options to serve this domain. ... |
この複製サーバーを NIS (YP) 互換モードで実行する場合は、/lib/svc/method/nisplus ファイルに -Y オプションを追加します。このファイルの変更が必要となるのは、ルート複製サーバーで NIS クライアント要求を実行する場合で、このサーバーが NIS 互換サーバーとして構成されていない場合に限られます。NIS 互換サーバーの作成方法については、「クライアントを NIS+ サーバーとして構成する方法」を参照してください。NIS+ でのサービス管理機能コマンドの使用方法については、「NIS+ とサービス管理機能」を参照してください。
(省略可能) 複製サーバーを NIS (YP) 互換モードで稼働させることができるように構成します。
複製サーバーを NIS 互換モードで稼働させるには、次の手順に従います。
新たに作成した複製サーバーに名前空間データをロードします。
これには、次の 2 つの方法があります。
NIS+ の保存と復元の機能を使用して、マスターサーバーのデータを保存し、作成した複製サーバーに復元します (こちらの方法をお勧めします)。具体的な手順については、「名前空間データをロードする方法—nisrestore による方法」を参照してください。
nisping を実行します。nisping を実行すると、マスターサーバーのすべての NIS+ データを複製サーバーに完全に再同期させることができます。しかし、大きな名前空間の場合、処理に長時間かかることがあります。その間、マスターサーバーはビジーになって応答が遅く、また作成した複製サーバーはまだ NIS+ 要求に応答できない状態になることがあります。具体的な手順については、「名前空間データをロードする方法—nisping による方法」を参照してください。
名前空間データのロードが終了すれば、マシン client1 は NIS+ ルート複製サーバーとなります。この新しいルート複製サーバーは、ルートドメインのクライアントからの要求を処理できます。これでドメインで使用可能なサーバーが 2 台となるため、要求を速く処理できます。
これらの手順に従って、複製サーバーを必要なだけ作ることができます。同じ手順を使ってサブドメインに複製サーバーを作ることもできます。
Multihomed NIS+ サーバーを設定する手順は、単一インタフェースサーバーの設定手順と同じです。唯一の相違点は、ローカルの /etc/hosts ファイル、/etc/inet/ipnodes ファイルと NIS+ の hosts テーブルおよび ipnodes テーブル内に定義する必要があるインタフェースが、単一インタフェースサーバーよりも多いという点です。ホスト情報を定義したら、nisclient と nisserver スクリプトを使用して Multihomed NIS+ サーバーを設定します。
Multihomed NIS+ サーバーを設定する場合は、サーバーの主体名はシステムのノード名と同じにする必要があります。これは、Secured RPC と nisclient を同時に使用する際の必要条件です。
Secured RPC は、ノード名を使用して認証に必要なネット名を作成する
nisclient は、主体名を使用してクライアントの資格を作成する
次に、NIS+ ルートマスター以外のサーバーの設定手順を示します。以下の例では、ルートドメインの複製を作成しています。muitihomed ルートサーバーの設定方法については、「Multihomed NIS+ ルートマスターサーバーの設定方法」を参照してください。
サーバーのホスト情報を hosts ファイルまたは ipnodes ファイル内に追加します。
たとえば、3 つのインタフェースを装備した hostB システムの場合は、次のように入力します。
192.168.11.y hostB hostB-11 192.168.12.x hostB hostB-12 192.168.14.z hostB hostB-14 |
ルートマスターサーバー上で、nispopulate または nisaddent のどちらかを使用して、新しいホスト情報を hosts テーブルまたは ipnodes テーブル内にロードします。
たとえば、以下のようになります。
hostA# nispopulate -F -d sun.com hosts |
この例では、sun.com は NIS+ ルートドメイン名を表しています。自分の NIS+ ルートドメイン名を指定して nispopulate コマンドを実行してください。
ルートマスターサーバー上で、nisclient スクリプトを使用して新しいクライアントの資格を作成します。
hostA# nisclient -c -d sun.com hostB |
この例では、sun.com は ルートドメイン名を表しています。自分のルートドメイン名を指定して nisclient コマンドを実行してください。
ルート以外のマスターサーバー上で、新しいサーバーがまだ稼働していない場合は、nisclient を使用して新しいサーバーを起動し、このマシンを NIS+ クライアントとして初期化します。
たとえば、以下のようになります。
hostB# nisclient -i -d sun.com |
この例では、sun.com は ルートドメイン名を表しています。自分のルートドメイン名を指定して nisclient コマンドを実行してください。
ルートマスター上で、nisserver を使用してルートマスター以外のサーバーを設定します。
hostA# nisserver -M -d eng.sun.com -h hostB.sun.com. |
この例では、eng.sun.com は NIS+ ドメイン名を表し、hostB.sun.com は NIS+ サーバーの完全指定ホスト名を表しています。nisserver コマンドは、自分の NIS+ ドメイン名と NIS+ サーバーの完全指定ホスト名を指定して実行してください。
ルートマスターサーバー上で、nisserver を使用して複製サーバーを設定します。
たとえば、以下のようになります。
hostA# nisserver -R -d sun.com -h hostB.sun.com. |
この例では、sun.com は 複製サーバーを表し、hostB.sun.com は NIS+ サーバーの完全指定ホスト名を表しています。nisserver コマンドは、自分の複製サーバー名と NIS+ サーバーの完全指定ホスト名を指定して実行してください。
multihomed NIS+ 複製サーバーの設定が完了したら、このあとの設定手順は、単一インタフェースのサーバーの設定手順とまったく同じです。
この節では、ルート以外の新しいドメイン (サブドメイン) のマスターサーバーの作成方法を説明します。この新しいドメインは doc.com. ドメインのサブドメインとなります。NIS+ の階層構造によって、組織構造に合わせたドメイン構造を作成できます。
この例では、マシン client2 が新しい sub.doc.com. ドメインのマスターサーバーに変更されます。ここでは NIS+ スクリプトの nisserver を使用します。
nisserver を実行して、新しいサブドメインのマスターサーバーを作成するには、次の条件を満たしている必要があります。
親ドメインがすでに構成され、そのマスターサーバーが実行されている
親ドメインのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが必要
親ドメイン内の新しいクライアントマシンが初期設定されている
クライアント上で NIS+ サービス (rpc.nisd) が起動されている
新しいドメインを追加するための適切なアクセス権がある。この例では、親マスターサーバーにスーパーユーザーとしてログインする。この例では、親マスターマシン名は master1
nisserver を実行してサブドメイン用のマスターサーバーを作成するには、次の情報が必要です。
クライアントマシン名 (この例では、client2)
親マスターサーバーのスーパーユーザーパスワード
新しいサブドメインの名前 - 親ドメインの名前を含んだ新しいドメイン名。書式は、「newdomain.rootdomain」という構文に従うこと
「新しいルート以外のドメインを作成する方法」では、新しいサブドメインを sub.doc.com. とします。
Solaris リリース 2.6 およびこれ以前のリリースでは、どんな NIS+ クライアントでも、そのサービスの提供先となるドメインの上位ドメインに置かれている限り、NIS+ マスターサーバーに変更できます。たとえば、ドメイン sales.doc.com. の NIS+ クライアントは、west.sales.doc.com. や alameda.west.sales.doc.com. などの下位ドメインにサービスを提供することができます。ただし、このクライアントは、ドメイン doc.com. にサービスを提供することはできません。これは、doc.com. が sales.doc.com. の上位ドメインであるためです。ただし、ルート複製サーバーはこのルールの唯一の例外であり、サービス提供先のドメインのクライアントです。
Solaris リリース 7 およびリリース 8 では、ドメインの NIS+ サーバーを、それがサービスしている同じドメイン内に置くことができます。ルート以外のサーバーは、設定されたドメイン内でサーバーとして動作します。つまり、ルート以外のサーバー上のアプリケーションを構成して、上位ドメインから渡される情報を使用することができます。
ただし、ルート以外のサーバーの資格は、上位ドメインになければなりません。ルート以外のサーバーの構成方法については、「新しいルート以外のドメインを作成する方法」を参照してください。サーバーを正しく構成したあとで、ドメイン名をサーバーとして機能するドメインの名前に変更できます。nisinit の -k オプションおよび nisserver の -d オプションを参照してください。
NIS+ ドメインのルートマスターサーバー上のスーパーユーザー (root) として次のように入力し、新しいルート以外のドメインマスターサーバーを作成します。
-M オプションは、新しいルート以外のドメインのマスターサーバーを作成することを示します。-d オプションは、ドメイン名 (この例では、sales.doc.com.) を指定します。-h オプションは、新しいドメインのマスターサーバーになるクライアントマシン (この例では、client2) を指定します。
master1# nisserver -M -d sales.doc.com. -h client2 This script sets up a non-root NIS+ master server for domain sales.doc.com. Domain name : sales.doc.com. NIS+ server : client2 NIS+ group : admin.sales.doc.com. NIS (YP) compatibility : OFF Security level : 2=DES Is this information correct? (type 'y' to accept, 'n' to change) |
新しいルート以外のドメインのマスターサーバーは、ルートサーバーと同じデフォルト値によって作成されます。NIS+ グループ、NIS (YP) 互換性、およびセキュリティレベルの詳細は、「ルートマスターサーバーを作成する方法」を参照してください。
y を入力して操作を続けます。
n を入力すると、スクリプトは正しい情報の入力を要求します。n を入力した場合の操作については、「誤った情報を変更する方法」を参照してください。
Is this information correct? (type 'y' to accept, 'n' to change) y This script sets up machine “client2” as an NIS+ non-root master server for domain sales.doc.com. Do you want to continue? (type 'y' to continue, 'n' to exit this script) |
y を入力して操作を続けます。
n を入力すると、スクリプトは安全に終了します。クライアントマシン上で rpc.nisd が動作していない場合、スクリプトは自動的に終了します。
Do you want to continue? (type 'y' to continue, 'n' to exit this script) y running nissetup ... org_dir.sales.doc.com. created groups_dir.sales.doc.com. created ... ... setting NIS+ group admin.sales.doc.com. ... The system client2 is now configured as a non-root server for domain sales.doc.com. You can now populate the standard NIS+ tables by using the nispopulate or /usr/lib/nis/nisaddent commands. |
これで、マシン client2 は sales.doc.com. ドメインのマスターサーバーになりました。sales.doc.com. ドメインは、doc.com. ドメインのサブドメインです。マシン client2 は、依然としてルートドメイン doc.com. のクライアントであり、しかも sales.doc.com. ドメインのマスターサーバーでもあります。
これで、sales.doc.com. ドメインの新しいマスターサーバーに標準の NIS+ テーブルを生成できます。
サーバーを新しいルート以外のドメインのマスターサーバーに変更する前述の手順を、必要な各サーバーマシンに対して繰り返します。新しいマスターサーバーはすべて新しいドメインです。ドメイン構造の計画を立ててから、NIS+ 名前空間の作成を開始します。NIS+ 階層の計画については、「NIS+ 名前空間の構造」を参照してください。
新しいドメインを作成したら、そのマスターサーバーの標準の 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+ ドメイン名
データが転送される、適切に編集されたテキストファイルのパス
NIS+ マスターサーバーの root パスワード
新しい 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) |
詳細は、「ルートマスターサーバーのテーブルを生成する方法」を参照してください。
ルートドメイン複製サーバーに対して適用される規則は、サブドメイン複製サーバーに対しても適用されます (「ルート複製サーバーの作成」を参照)。
サブドメインの複製サーバーの作成には、ルート複製サーバーの作成と同じ手順を使用します。このルート複製サーバーの作成とサブドメイン複製サーバーの作成との大きな違いは、サブドメイン複製サーバーに変更しようとしているマシンが、複製サーバーとしてサービスを提供することになるドメインより上位のドメインのクライアントのままであることです。この例では、新しいドメインの複製サーバーを作成するための入力だけを示します。スクリプトの残りの出力については、「ルート複製サーバーを作成する方法」を参照してください。
nisserver を実行して複製サーバーを作成するには、次の条件を満たしている必要があります。
ドメインがすでに構成され、そのマスターサーバーが実行されている
ドメインのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが必要
親ドメイン内のクライアントマシンが初期設定されている
クライアント上で NIS+ サービス (rpc.nisd) が起動されている
マスターサーバーにスーパーユーザーとしてログインしている (この例では、マスターマシン名は client2)
nisserver を実行するには、次の情報が必要です。
ドメイン名
クライアントマシン名 (この例では、client3)
ルートマスターサーバーのスーパーユーザーのパスワード
複製サーバーを作成するには、NIS+ ドメインのマスターサーバー上でスーパーユーザー (root) として、nisserver -R コマンドを実行します。
client2# nisserver -R -d sales.doc.com. -h client3 This script sets up a NIS+ replica server for domain sales.doc.com. Domain name ::sales.doc.com. NIS+ server :client Is this information correct? (type 'y' to accept, 'n' to change) |
この例では、client2 がマスターサーバーです。-R オプションは、複製サーバーを構成することを示します。-d オプションは NIS+ ドメイン名 (ここでは、sales.doc.com.) を指定します。-h オプションは複製サーバーとなるクライアントマシン (ここでは client3) を指定します。なお、このマシンは依然として doc.com. ドメインのクライアントであり、sales.doc.com. ドメインのクライアントではありません。
このスクリプトの残りの出力については、「ルート複製サーバーを作成する方法」を参照してください。
マスターサーバーのテーブルをファイルまたは NIS マップから生成すれば、NIS+ クライアントマシンを初期設定できます。この節では、デフォルト設定の nisclient スクリプトを使用して、新しいドメイン内の NIS+ クライアントを初期設定する方法を説明します。NIS+ クライアントマシンは、NIS+ マスターサーバーとは別のマシンです。
「新しいサブドメインクライアントマシンを初期設定する方法」で使用される -i オプションは、NIS+ クライアントを DNS を必要とするホスト名の解決ができるようには構成しません。DNS を使用する場合には、ネームサービススイッチファイルの中でクライアント用に、DNS を明確に指定しなければなりません。
新しいドメイン内のクライアントを初期設定するには、ルートドメイン内のクライアントの初期設定と同じ手順を使用します。この例では、新しいドメインのクライアントを初期設定するための入力だけを示します。スクリプトの残りの出力については、「新しいクライアントマシンを初期設定する方法」を参照してください。
nisclient スクリプトを使用してクライアントマシンを初期設定するには、次の条件を満たしている必要があります。
ドメインがすでに構成され、そのマスターサーバーが実行されている
ドメインのマスターサーバーのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが必要
ドメイン内のクライアントマシンが初期設定されている
クライアントマシンに「ユーザー」としてログインしている (この例では、ユーザー名は user1)
nisclient を実行するには、次の情報が必要です。
ドメイン名 (この例では、sales.doc.com.)
デフォルトのネットワークパスワード (この例では、nisplus)
クライアントとなるマシンの root のパスワード
クライアントのホームドメイン内の NIS+ サーバーの IP アドレス (この例では、マスターサーバー client2 のアドレス)
新しいクライアントマシン上で新しいクライアントを初期設定するには、スーパーユーザーとして次のコマンドを入力します。
subclient1# nisclient -i -d sales.doc.com. -h client2 Initializing client subclient1 for domain “sales.doc.com.”. Once initialization is done, you will need to reboot your machine. Do you want to continue? (type 'Y' to continue, 'N' to exit this script) |
-i オプションはクライアントを初期設定します。-d オプションは新しい NIS+ ドメイン名を指定します。ドメイン名が指定されない場合、デフォルトは現在のドメイン名になります。-h オプションは NIS+ サーバーのホスト名を指定します。
このスクリプトの残りの出力については、「新しいクライアントマシンを初期設定する方法」を参照してください。
新しいドメイン内のユーザーを初期設定するには、ルートドメイン内のユーザーを初期設定する場合と同じ手順 (nisclient) を使用します。全ユーザーが NIS+ クライアントにならなければなりません。この例では、新しいドメインのユーザーを初期設定するための入力だけを示します。スクリプトの残りの出力については、「NIS+ ユーザーを初期設定する方法」を参照してください。
nisclient スクリプトを使用してユーザーを初期設定するには、次の条件を満たしている必要があります。
ドメインがすでに構成され、そのマスターサーバーが実行されている
ドメインのマスターサーバーのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが必要
ドメイン内のクライアントマシンが初期設定されている
クライアントマシンに「ユーザー」としてログインしている (この例では、ユーザー名は user2)
nisclient を実行するには、次の情報が必要です。
ユーザーのログイン名 (この例では、user2)
デフォルトのネットワークパスワード (この例では、nisplus)
NIS+ クライアントになるユーザーのログインパスワード
NIS+ クライアントとなるには、ユーザーとしてログインして、次のコマンドを実行します。
user2prompt% nisclient -u At the prompt below, type the network password (also known as the Secure-RPC password) that you obtained either from your administrator or from running the nispopulate script. Please enter the Secure-RPC password for user2: |
このスクリプトの残りの出力については、「NIS+ ユーザーを初期設定する方法」を参照してください。
名前空間サンプルの作成で使用したコマンドを表 4–4 にまとめます。各コマンドの前にあるプロンプトは、そのコマンドをどのマシンで入力するかを示します。
表 4–4 NIS+ 名前空間サンプル – コマンドのまとめ
作業 |
コマンド |
---|---|
|
# setenv PATH $PATH:/usr/lib/nis または # PATH=$PATH:/usr/lib/nis; export PATH |
オプションで Diffie - Hellman 鍵の長さを設定する |
master1# nisauthconf dh640-0 des |
doc.com. ドメインのルートマスターサーバーを作成 |
master1# nisserver -r -d doc.com. |
ルートマスターサーバーの NIS+ テーブルを、ファイルまたは NIS マップから生成 |
master1# nispopulate -F -p /nis+files -d doc.com. または master1# nispopulate -Y -d doc.com. -h salesmaster -a \ 172.31.58.111 -y sales.doc.com. |
管理グループ (2) にメンバーを追加する |
master1# nisgrpadm -a admin. doc.com. topadmin.doc.com. \ secondadmin.doc.com. |
NIS+ データベースのチェックポイントを実行する |
master1# nisping -C org_dir. doc.com. |
オプションで Diffie - Hellman 鍵の長さを設定する |
client1# nisauthconf dh640-0 des |
doc.com. ドメイン内の NIS+ クライアントマシンを初期設定する |
client1# nisclient -i -d doc.com. -h master1 |
ユーザーを NIS+ クライアントとして初期設定する |
client1user1prompt% nisclient -u |
NIS+ クライアントを、NIS 互換性あり、またはなし、あるいは NIS と DNS ありで NIS+ サーバーに変更 |
client1#rpc.nisd または client1# rpc.nisd -Y または client1# rpc.nisd -Y -B |
ルート複製サーバーを作成 |
master1# nisserver -R -d doc.com. -h client1 |
サーバーを sales.doc.com. ドメインのルート以外のマスターサーバーに変更 |
master1# nisserver -M -d sales.doc.com. -h client2 |
新しいマスターサーバーの NIS+ テーブルを、ファイルまたは NIS マップから生成 |
client2# nispopulate -F -p /nis+files -d sales.doc.com. または client2# nispopulate -Y -d sales.doc.com. -h \ businessmachine -a 172.31.58.242 -y business.doc.com. |
マスターサーバーの複製を作成 |
client2# nisserver -R -d sales.doc.com. -h client3 |
sales.doc.com. ドメイン内の NIS+ クライアントを初期設定する |
subclient1# nisclient -i -d sales.doc.com. -h client2 |
ユーザーを NIS+ クライアントとして初期設定する |
subclient1user2prompt% nisclient -u |