ネットワーク情報サービス (NIS,以前のイエロー・ページ) は,ローカル・エリア・ネットワーク (LAN) で情報を共有するための分散データ・ルックアップ・サービスです。 NIS によって,ネットワーク環境にデータベース情報を分散配置させることができます。
この章では,次のことを説明します。
NIS
の概要については,
nis_intro
(7)3.1 NIS 環境
NIS 環境のシステムには,次の役割があります。
マスタ・サーバ
/var/yp/DOMAIN
ディレクトリのドメインの NIS データベース・ファイル,つまりマップのマスタ・コピーを格納し,それらを各スレーブ・サーバに定期的に配布するシステムです。
変更できるのは,マスタ・マップだけです。
各ドメインは,マスタ・サーバを 1 つだけ所有できます。
スレーブ・サーバ
マスタ・サーバの NIS マップのコピーを取得し格納するシステムです。 これらのマップは,ネットワークを介して定期的に更新されます。 マスタ・サーバが使用できない場合は,スレーブ・サーバが引き続きクライアントに対して NIS マップを提供します。 各ドメインには,複数のスレーブ・サーバをネットワーク全体に分散して設定することができます。
クライアント
NIS サーバに NIS データベース情報を照会するすべてのシステムです。 クライアントは,データベースをローカルで格納していません。 サーバに情報を照会するだけです。
図 3-1に,マスタ・サーバ,2 つのスレーブ・サーバ,およびいくつかのクライアントを含むドメインを示します。
図 3-1: NIS 構成
省略時の設定では,NIS は,aliases
(mail.aliases
),group
,hosts
,netgroup
,networks
,passwd
,protocols
,rpc
,および
services
のデータベースを分散します。
データベース
mail.aliases
および
netgroup
は,NFS 専用に作成されます。
また,セキュリティが強化された拡張プロファイル・データベースや,NFS Automount マップおよび AutoFS マップなどのサイト固有のカスタマイズされたデータベースも作成して分散できます。
拡張セキュリティのサポートされている NIS を構成したり,オプションで NIS マップのセキュリティ版を作成するには,
この章で説明されている設定を始める前に『セキュリティ管理ガイド』にある指示をよくお読みください。
NIS による分散のための Automount マップおよび AutoFS マップの作成情報については
付録 A
を参照してください。
サイト固有の NIS マップの作成および分散する方法については,3.4.6 項
を参照してください。
3.2 NIS の計画
この節では,NIS を構成する前に必要な作業について説明します。
3.2.1 Additional Networking Services サブセットがインストールされているかどうかの確認
次のコマンドを入力して,NIS サーバに Additional Networking Servives サブセットがインストールされているかどうかを確認します。
# setld -i | grep OSFINET
このサブセットがインストールされていない場合は,setld
コマンドを使用してインストールします。
サブセットのインストール方法については,
setld
(8)3.2.2 構成の準備
図 3-2
は,NIS を構成する際に必要な情報を記録するのに使用できる NIS 設定ワークシートを示しています。
本書をオンラインで参照している場合は,プリント機能を使用してこのワークシートをプリントできます。
この後の項では,ワークシートに記録するのに必要な情報を説明します。
図 3-2: NIS 設定ワークシート
ドメイン名 (1〜31 桁の英数字) です。 ドメイン内のすべてのシステムは,同じドメイン名を宣言する必要があります。
NIS ドメインは管理上の要素であり,マスタ・サーバ,1 つまたは複数のスレーブ・サーバ,および多数のクライアントから構成されています。 1 つのドメインのすべてのシステムは,同じ NIS データベース・ファイル・セットを共有します。
注意
NIS ドメイン名は,DNS ドメイン名と同じではありません。 さらに,NIS ドメイン名では大文字と小文字が区別されるため,指定する際には注意が必要です。 誤った NIS ドメイン名でシステムを構成すると,すべての NIS 関連の操作 (ログインや
ls -l
コマンドなど) は,数分以内にハングして異常終了します。
NIS は,ネットワークの各システムで実行します。 作成する NIS ドメイン内で,各システムが果たす役割を決める必要があります。 ホストを 1 つ選択してマスタ・サーバにします。 各ドメインには,1 つだけマスタ・サーバを置くことができます。 1 つまたは複数のホストを選択してスレーブ・サーバにします。 残りのホストは,NIS クライアントとして実行できます。 (マスタ・サーバおよびすべてのスレーブ・サーバも NIS クライアントとみなされます。)
各システムの役割の決定後,以降の項の説明に従って,ワークシートの残りの項目に情報を記入します。
3.2.2.1 マスタ・サーバ
NIS マップにいれるファイルです。 次のファイルから選択します。
/etc/group
/etc/hosts
/etc/networks
/etc/passwd
/etc/protocols
/etc/rpc
/etc/services
/var/adm/sendmail/aliases
上でベースである
mail.aliases
ファイルは,ネットワーク全体のメール別名を定義します。
ネットワークのメール別名を定義して分散したい場合には,Yes をチェックします。
そうしない場合には,No をチェックします。
mail.aliases
ファイルを作成しないことを選択した場合には,NIS マップ作成の際に,nissetup
スクリプトによって,mail.aliases
ファイルが見つかりませんという情報メッセージが表示されます。
メール別名の定義についての詳細は,
aliases
(4)
netgroup
ファイルは,ネットワーク全体のグループを定義して,リモート・マウント,リモート・ログイン,およびリモート・シェルを行う場合に許可を確かめるために使用されます。
ネットワークの
netgroup
情報を定義して分散したい場合には,Yes をチェックします。
そうしない場合には,No をチェックします。
NIS マップの作成に,netgroup
ファイルを作成しないことを選択した場合には,nissetup
スクリプトによって,
netgroup
ファイルが見つかりませんという情報メッセージが表示されます。
ネットワーク・グループの定義についての詳細は,
netgroup
(4)
マスタ・サーバの設定オプションのリストは次のようになっています。 ワークシートの該当箇所に使用したいオプションを書き込みます。
yppasswdd
デーモンを実行します。
yppasswdd
デーモンが動作している場合,ユーザは NIS ドメイン内の任意のシステムで
yppasswd
コマンドを実行して,パスワード・ファイルのマスタ・コピー内の自分のパスワードを更新できます。
NIS で分散されているパスワードを,管理者を介さずにユーザ自身で更新できるようにするには,yppasswdd
デーモンを実行します。
yppasswdd
デーモンは,マスタ・サーバ上でのみ動作します。
NIS マップのベースまたは拡張セキュリティ・バージョンを作成します。
Tru64 UNIX セキュリティは,ベースまたは拡張認証モードのどちらかで構成されます。
拡張セキュリティは,拡張ユーザ・プロファイル情報を持つ追加の
prpasswd
マップを含んでいます。
この
prpasswd
マップを分散させるために NIS を構成する前に,『セキュリティ管理ガイド』をお読みください。
このマニュアルでは,セキュリティ環境での重要な操作の違いと,NIS 構成に必要な追加の手順について説明しています。
btree 形式でのNIS マップを作成します。
非常に大きなマップを取り扱う際に,これらのマップを,
非常に大きなマップをビルドおよびプッシュするのに必要な時間を大幅に削減させる
btree ファイルとして NIS が運用するようにしたい場合があります。
しかし,btree ファイルの使用は,相対的に小さなマップのための性能を少し下げることになります。
btree 形式の詳細については,リファレンス・ページの
btree
(3)
NIS で拡張セキュリティを使用する場合は,btree 形式のマップが最適です。
ypbind
デーモンを
-s
オプション付きで実行し,サーバに予備ポートを使用させます。
セキュリティを確保するためには,NIS を
-s
オプション付きで実行してください。
-S
オプションを指定して,ある特定のドメイン名とサーバ・リストに
ypbind
デーモンをロックします。
通常,ホストがネットワーク上で NIS 要求をブロードキャストし,使用できる最初のサーバがその要求に答えます。
-S
オプションによって,ypbind
デーモンをある特定のドメインとサーバ群にロックできます。
要求は,ブロードキャストされるのではなく,指定したサーバに直接発行されます。
セキュリティを確保するには,NIS を
-S
オプション付きで実行してください。
-S
オプションで構成された NIS を実行する場合には,ypbind
デーモンをロックするサーバのホスト名および IP アドレスを知っている必要があります。
構成中にローカルの
hosts
ファイルにそれらを追加することもできます。
セキュリティに関する注意
nissetup
スクリプトを使用して,拡張セキュリティで実行している NIS サーバを設定する場合は,ドメイン名および権限を与えられているサーバ (ypbind -S
オプション) をロックするかどうかの問いには,Yes と答える必要があります。 マスタ・サーバの場合は,サーバはそれ自体にバインドされます (省略時の設定)。
-ypset
オプションまたは
-ypsetme
オプションを指定して NIS を実行します。
-ypset
オプションを使用してドメイン内の任意のシステムで
root
としてログインしているユーザは,システムをある特定のサーバにバインドできます。
-ypsetme
オプションを使用すれば,ypbind
が受け入れる
-ypset
要求を,ローカル・システムからの要求のみに限定できます。
セキュリティを確保するためには,すべての
ypset
要求を禁止してください。
Automount マップまたは AutoFS マップを作成して分散させます。
automount
デーモンと
autofsd
デーモンは,/etc/fstab
に登録されているリモート・ファイル・システムをマウントするための代替的な手段であり,これらのデーモンを使用することによって,ユーザは必要に応じてリモート・ファイル・システムをマウントできます。
これらのデーモン用のマップを分散するために NIS を使用する際に,NIS マスタ・サーバにマップを作成し,それらを NIS スレーブ・サーバおよびクライアントに分散します。
これらのマップの作成についての詳細は,付録 A
を参照してください。
これらのマップの運用についての詳細は,4.1.2 項
を参照してください。
Automount デーモンや AutoFS の使用の有無は,ご使用のサイトのネットワーク環境によって決定されます。
ドメインでの各スレーブ・サーバ名です。
ドメインでの各スレーブ・サーバの IP アドレスです。
スレーブ・サーバの設定オプションのリストは次のようになっています。 ワークシートの該当箇所に使用したいオプションを書き込みます。
NIS マップのベースまたは拡張セキュリティ・バージョンを運用します。
Tru64 UNIX セキュリティは,ベースまたは拡張認証モードのどちらかで構成されます。
拡張セキュリティは,拡張ユーザ・プロファイル情報を持つ追加の
prpasswd
マップを含みます。
この
prpasswd
マップを分散させるために NIS を構成する前に,『セキュリティ管理ガイド』をお読みください。
このマニュアルでは,セキュリティ環境での重要な操作上の違いと,NIS の構成に必要な追加の手順について説明しています。
btree 形式での NIS マップを運用します。
非常に大きなマップを取り扱う際に,これらのマップを,
非常に大きなマップをビルドおよびプッシュするのに必要な時間を大幅に削減させる
btree ファイルとして NIS が運用するようにしたい場合があります。
しかし,btree ファイルの使用は,相対的に小さなマップのための性能を少し下げることになります。
btree
形式の詳細については,
btree
(3)
NIS で拡張セキュリティを使用する場合は,btree 形式のマップが最適です。
ypbind
デーモンを
-s
オプション付きで実行し,サーバに予備ポートを使用させます。
セキュリティを確保するためには,NIS を
-s
オプション付きで実行してください。
-S
オプションを指定して,ある特定のドメイン名とサーバ・リストに
ypbind
デーモンをロックします。
通常,ホストがネットワーク上で NIS 要求をブロードキャストし,使用可能な最初のサーバがその要求に答えます。
-S
オプションによって,ypbind
デーモンをある特定のドメインとサーバ群にロックできます。
要求は,ブロードキャストされるのではなく,指定のサーバに直接発行されます。
セキュリティを確保するためには,NIS を
-S
オプション付きで実行してください。
NIS を
-S
オプション付きで実行する場合には,構成を正しく完了させるために,ypbind
デーモンをロックするサーバのホスト名および IP アドレスを知っていなければなりません。
セキュリティに関する注意
nissetup
スクリプトを使用して,拡張セキュリティを実行している NIS サーバを設定する場合は,ドメイン名および権限を与えられているサーバ (ypbind -S
オプション) をロックするかどうかの問いには,Yes と答える必要があります。 スレーブ・サーバの場合は,サーバはそれ自体にバインドされます (省略時の設定)。 また,必要ならば,マスタ・サーバやその他のスレーブ・サーバにもバインドされるようにできます。
-ypset
オプションまたは
-ypsetme
オプションを指定して NIS を実行します。
-ypset
オプションを使用してドメイン内の任意のシステムで
root
として実行しているユーザは,システムをある特定のサーバにバインドできます。
-ypsetme
オプションを使用すると,ypbind
はローカル・システムからの
-ypset
要求だけを受け入れます。
セキュリティを確保するためには,すべての
ypset
要求を禁止してください。
Automount マップまたは AutoFS マップを分散します。
automount
デーモンと
autofsd
デーモンは,/etc/fstab
に登録されているリモート・ファイル・システムをマウントするための代替的な手段であり,これらのデーモンを使用することによって,ユーザは必要に応じてリモート・ファイル・システムをマウントできます。
これらのデーモン用のマップを分散するために NIS を使用する際に,
マスタ・サーバからマップを受け取るようにスレーブ・サーバを構成し,
マップをクライアントに分散したり,マップを使用してリモート・ファイル・システムをマウントすることができます。
これらのマップの作成についての詳細は,付録 A
を参照してください。
これらのマップの運用についての詳細は,4.1.2 項を参照してください。
Automount や AutoFS を使用するかどうかは,ご使用のサイトのネットワーク環境によって決まります。
ドメインのマスタ・サーバのホスト名です。
ドメインのマスタ・サーバの IP アドレスです。
ドメインの他のスレーブ・サーバの名前です。 いくつかのサーバを指定してください。
ドメインのスレーブ・サーバの IP アドレスです。
クライアントの設定オプションのリストは次のようになっています。 ワークシートの該当箇所に使用したいオプションを書き込みます。
ypbind
デーモンを
-s
オプション付きで実行し,サーバに予備ポートを使用させます。
セキュリティを確保するためには,NIS を
-s
オプション付きで実行してください。
-S
オプションを指定して,ある特定のドメイン名とサーバ・リストに
ypbind
デーモンをロックします。
通常,ホストがネットワーク上で NIS 要求をブロードキャストし,使用できる最初のサーバがその要求に答えます。
-S
オプションによって,ypbind
デーモンをある特定のドメインとサーバ群にロックできます。
要求は,ブロードキャストされるのではなく,指定のサーバに直接発行されます。
セキュリティを確保するためには,NIS を
-S
オプション付きで実行してください。
NIS を
-S
オプション付きで実行する場合には,構成を正しく完了させるために,ypbind
デーモンをロックするサーバのホスト名および IP アドレスを知っていなければなりません。
-ypset
オプションまたは
-ypsetme
オプションを指定して NIS を実行します。
-ypset
オプションを使用してドメイン内の任意のシステムで
root
としてログインしているユーザは,システムをある特定のサーバにバインドできます。
-ypsetme
オプションを使用すると,ypbind
はローカル・システムからの
-ypset
要求だけを受け入れます。
セキュリティを確保するためには,すべての
ypset
要求を禁止してください。
Automount または AutoFS と,関連するマップを使用します。
automount
デーモンと
autofsd
デーモンは,/etc/fstab
ファイルに登録されているリモート・ファイル・システムをマウントするための代替的な手段であり,これらのデーモンを使用することによって,ユーザは必要に応じてリモート・ファイル・システムをマウントできます。
NIS を使用してこれらのデーモン用のマップを分散する場合には,NIS マスタ・サーバおよびスレーブ・サーバからマップを受け取るためにクライアントを構成することができ,リモート・ファイル・システムをマウントするためにマップを使用することができます。
これらのマップの作成についての詳細は,付録 A
を参照してください。
これらのマップの管理についての詳細は,4.1.2 項を参照してください。
Automount や AutoFS を使用するかどうかは,サイトのネットワーク環境によって決まります。
ドメインのスレーブ・サーバ名です。 いくつかのサーバを指定します。
マスタ・サーバ,スレーブ・サーバ,およびクライアント上に NIS を構成するには,共通デスクトップ環境 (CDE) のアプリケーション・マネージャの SysMan Menu アプリケーションを使用してください。
SysMan Menu アプリケーションを呼び出すには
1.2.1 項
にある手順を行ってください。
3.3.1 NIS マスタ・サーバの構成
他のシステムを構成する前に,NIS マスタ・サーバを構成しなければなりません。
SysMan Menu または
nissetup
スクリプトを使用してマスタ NIS サーバを設定する前に,
root としてログインして,次の作業を完了させておく必要があります。
/var/yp/src
ディレクトリに,分散用に NIS マップにいれるローカル
/etc
ファイルをコピーします。
省略時の NIS マップを作成している際に,あるファイルが
/var/yp/src
ディレクトリにない場合には,nissetup
スクリプトによって,そのファイルが見つかりませんでしたという情報メッセージが表示され,マップの作成が続行されます。
注意
passwd
ファイルを/var/yp/src
ディレクトリにコピーした場合には,そのファイルからroot
エントリを削除します。
必要ならば,/var/yp/src/mail.aliases
ファイルを作成します。
ローカル・システムに
/var/adm/sendmail/aliases
ファイルがすでにある場合は,
必要ならば
/var/yp/src
ディレクトリにそのファイルをコピーし,編集することができます。
このファイルのフォーマットについての情報は,
aliases
(4)
必要ならば,/var/yp/src/netgroup
ファイルを作成します。
このファイルのフォーマットについての情報は,
netgroup
(4)
/var/yp/Makefile
ファイルを編集します。
Automount または AutoFS 用の
/etc/auto.master
マップと
/etc/auto.home
マップを NIS マスタ・サーバで管理する場合には,次に示す最初の行から各行のコメント記号 (#
) を削除する必要があります。
これらの行は,automount
デーモンおよび
autofsd
デーモンのために,Makefile
に追加されています。
.
.
.
#all: passwd group hosts networks rpc services protocols netgroup \ # aliases auto.home auto.master
.
.
.
#$(YPDBDIR)/$(DOM)/auto.home.time: $(DIR)/auto.home # -@if [ -f $(DIR)/auto.home ]; then \ # $(SED) -e "/^#/d" -e s/#.*$$// $(DIR)/auto.home | \ # $(MAKEDBM) - $(YPDBDIR)/$(DOM)/auto.home; \ # $(TOUCH) $(YPDBDIR)/$(DOM)/auto.home.time; \ # $(ECHO) "updated auto.home"; \ # if [ ! $(NOPUSH) ]; then \ # $(YPPUSH) auto.home; \ # $(ECHO) "pushed auto.home"; \ # else \ # : ; \ # fi \ # else \ # $(ECHO) "couldn't find $(DIR)/auto.home"; \ # fi # #$(YPDBDIR)/$(DOM)/auto.master.time: $(DIR)/auto.master # -@if [ -f $(DIR)/auto.master ]; then \ # $(SED) -e "/^#/d" -e s/#.*$$// $(DIR)/auto.master | \ # $(MAKEDBM) - $(YPDBDIR)/$(DOM)/auto.master; \ # $(TOUCH) $(YPDBDIR)/$(DOM)/auto.master.time; \ # $(ECHO) "updated auto.master"; \ # if [ ! $(NOPUSH) ]; then \ # $(YPPUSH) auto.master; \ # $(ECHO) "pushed auto.master"; \ # else \ # : ; \ # fi \ # else \ # $(ECHO) "couldn't find $(DIR)/auto.master"; \ # fi
.
.
.
#auto.home: $(YPDBDIR)/$(DOM)/auto.home.time #auto.master: $(YPDBDIR)/$(DOM)/auto.master.time
.
.
.
#$(DIR)/auto.home: #$(DIR)/auto.master:
次の行の前にコメント記号 (#
) をつけます。
all: passwd group hosts networks rpc services protocols netgroup \ aliases
他のサイト固有のマップを提供するために NIS マスタ・サーバを使用している場合には,Makefile
にマップのためのエントリを追加する必要があります。
/var/yp/Makefile
ファイルに,/etc/auto.master
マップおよび
/etc/auto.home
マップを除く,サイト固有の NIS マップのエントリを追加する場合には,3.4.8.1 項を参照してください。
auto.master
マップおよび
auto.home
マップ,または他のサイト固有のマップを
/var/yp/src
ディレクトリにコピーします。
Automount マップや AutoFS マップの作成についての詳細は,付録 Aを参照してください。
他のサイト固有のマップの作成についての詳細は,3.4.8.1 項を参照してください。
マスタ・サーバの設定を続けて行う場合には, 1.2.1 項 に記述されているように SysMan Menu を呼び出し,次のことを行ってください。
SysMan Menu から,次のように選択します。
[ネットワーク]-->[追加ネットワーク・サービス]-->[NIS (Network Information Service) の設定]。
SysMan Menu は
nissetup
スクリプトを呼び出します。
別の方法としては,コマンド・ライン上で以下のコマンドを入力します。
# /usr/bin/sysman nis
メッセージが表示されて,NIS を設定する前にネットワークを設定する必要があること,および,NIS サーバを設定するには Additional Networking Services サブセットをインストールする必要があることを知らされます。
続ける場合は,c
と入力します。
nissetup
のスクリプトの説明の後に[Return]キーを押し,NIS ドメインの 3 つのタイプのシステムについてスクリプトが説明した後で[Return]キーをもう一度押します。
システムの NIS ドメイン名を,大文字と小文字の使い分けに注意して入力し,間違いがないことを確認します。
オプション 1 を選択して,マスタ・サーバを構成することを指示します。
各 NIS ドメインのために構成されたマスタ・サーバは 1 つだけであるという
nissetup
スクリプトの説明に続けて,c
と入力して,yppasswdd
デーモンを実行するかどうかを指示します。
yppasswdd
デーモンは,マスタ NIS サーバ上で実行するのが最適です。
NIS を利用した拡張セキュリティを使用するかどうかを指示します。
NIS マップを btree ファイルとして運用するかどうかを指示します。
このドメインのスレーブ・サーバとなるホスト名を入力します。
マスタ・サーバの
/etc/hosts
ファイルにリストされていないホスト名を入力した場合には,nissetup
スクリプトは,IP アドレスを求めるプロンプトを表示します。
Enter the names of the SLAVE servers in the test_domain domain. Press Return to terminate the list. Host name of slave server: host2 Host name of slave server: host3 Cannot find host3 in the file /etc/hosts. To add host3 to the /etc/hosts file you MUST know host3's Internet (IP) address. Would you like to add host3 to the /etc/hosts file (y/n) [y]? y What is host3's Internet (IP) address [no default] ? 120.105.1.28 Is 120.105.1.28 correct (y/n) [no default] ? y Hostname of slave server: [Return]
nissetup
スクリプトは,入力したサーバのリストを表示します。
エラーを修正するためにリストを再実行するか,または設定手順を続けることができます。
nissetup
スクリプトは,省略時の NIS マップを作成しながら,次に示すようなメッセージを表示します。
Creating default NIS maps. Please wait... updated passwd updated group updated hosts updated networks updated rpc updated services updated protocols updated netgroup Finished creating default NIS maps.
-s
セキュリティ・オプションを使用するかどうかを指示します。
NIS を
-s
オプション付きで実行すると,ypbind
プロセスが保護モードで実行されます。
このオプションは,できるだけ使用してください。
-S
セキュリティ・オプションを使用するかどうかを指示します。
このオプションは,できるだけ使用してください。
NIS を
-S
オプション付きで実行するように選択した場合には,最高 4 つの NIS サーバ名を入力する必要があります。
システムの
/etc/hosts
ファイルにリストされていないサーバの名前を入力すると,nissetup
スクリプトによって,そのサーバの IP アドレスの入力が求められます。
サーバのリストを入力した後,空白の「Server
n
name
」フィールド内で [Return] キーを押し,続いて
c
を入力してシステムの NIS 構成を継続します。
システムで
ypset
要求を受け入れるかどうかを指示します。
ypset
要求は,できるだけすべて禁止してください。
省略時の設定を使用する場合には[Return]キーを押して,その選択を確定します。
システムでマスタ・サーバが提供する NIS データベースをすべて使用するかどうかを指示します。
NIS データベースはすべて使用することをお勧めします。
すべての NIS データベースの使用を選択すると
nissetup
スクリプトは,/etc/svc.conf
ファイルを編集して,各データベースに
yp
文字列を追加します。
また,ファイル
/etc/passwd
および
/etc/group
を編集して,各ファイルの最後に + 記号とコロン (+:
) を追加します。
これによって,システムはリストされた各データベースに対して NIS を使用できます。
この記号によって,ファイルを NIS によって分散させることができます。
手順 16 に進んでください。
すべての NIS データベースの使用を選択しない場合には,n
と入力して次の手順に進んでください。
ローカルの
/etc/passwd
ファイル (または
/etc/group
ファイル) の最後に + 記号とコロン (+:
) を追加するかどうかを指示します。
NIS 提供の
passwd
データベース,group
データベース,またはこの両方をシステムが使用する場合には,NIS に提供させたいファイルは,最後の行が
+:
である必要があります。
これは,データベース
passwd
および
group
にだけ適用されます。
注意
データベース
passwd
およびgroup
に対するサービス順序の選択は,SIA (Security Integration Architecture) によって行われます。/etc/sia/matrix.conf
ファイル中のpasswd
およびgroup
の情報に対してBSD
が選択されている場合には,システムが NIS を探索するために必要なものは+:
だけです。
nissetup
スクリプトで
svcsetup
スクリプトを呼び出すかどうかを指示します。
yes と答えた場合には,nissetup
スクリプトは
svcsetup
スクリプトを呼び出します。
このスクリプトを使用すると,データベース・サービス選択ファイル (svc.conf
ファイル) を変更できます。
svc.conf
ファイルの変更についての詳細は,3.3.4 項を参照してください。
no と答えた場合には,nissetup
スクリプトは次へ進みます。
システムで NIS を使用して,passwd
および
group
の情報以外のデータベース情報を得るには,svc.conf
ファイルを後で編集する必要があります。
NIS デーモンを自動的にスタートさせるかどうかを指示します。
yes と答えた場合には,nissetup
はデーモンをスタートさせます。
no と答えた場合には,nissetup
を終了した後に,次のコマンドを使用してデーモンを手動でスタートさせます。
実行すると,システム・プロンプト(#
) に戻ります。
# /sbin/init.d/nis start
スレーブ・サーバを設定するには, 1.2.1 項 に記述されているように SysMan Menu を呼び出し,次の手順を行ってください。
SysMan Menu から,次のように選択します。
[ネットワーク] --> [追加ネットワーク・サービス] --> [NIS (Network Information Service) の設定]。
SysMan Menu は
nissetup
スクリプトを呼び出します。
別の方法としては,コマンド・ライン上で次のコマンドを入力します。
# /usr/bin/sysman nis
メッセージが表示されて,NIS を設定する前にネットワークを設定する必要があること,および,NIS サーバを設定するには Additional Networking Services サブセットをインストールする必要があることを知らされます。
NIS サーバを設定するには,NIS を設定する前にネットワークが Additional Networking Services サブセットをインストールする必要があります。
続ける場合は
c
と入力します。
nissetup
のスクリプトの説明の後で[Return]キーを押し,NIS ドメインの 3 つのタイプのシステムについてスクリプトが説明した後で[Return]キーをもう一度押します。
システムの NIS ドメイン名を,大文字と小文字の使い分けに注意して入力し,間違いがないことを確認します。
オプション 2 を選択して,スレーブ・サーバを構成することを指示します。
次の
nissetup
スクリプトの説明の後に
c
と入力します。
この説明では,マスタ・サーバのリストに各スレーブ・サーバを含める必要があること,および,マスタ・サーバはマップがスレーブ・サーバにコピーされる順序で設定しなければならないことを述べています。
ドメインに対するマスタ・サーバ名を入力します。
NIS を利用した拡張セキュリティを使用するかどうかを指示します。
NIS マップを btree ファイルをして運用するかどうかを指示します。
指示後に,スクリプトは省略時の NIS マップをマスタ NIS サーバからコピーします。
-s
セキュリティ・オプションを使用するかどうかを指示します。
NIS を
-s
オプション付きで実行するように選択すると,ypbind
プロセスが保護モードで実行されます。
このオプションは,できるだけ使用してください。
-S
セキュリティ・オプションを使用するかどうかを指示します。
このオプションは,できるだけ使用してください。
NIS を
-S
オプション付きで実行するように選択した場合には,最高 4 つの NIS サーバ名を入力する必要があります。
システムの
/etc/hosts
ファイルにリストされていないサーバの名前を入力すると,nissetup
スクリプトによって,そのサーバの IP アドレスの入力が求められます。
サーバのリストを入力した後,空白の「Server
n
name
」フィールド内で [Return] キーを押し,続いて
c
を入力してシステムの NIS 構成を継続します。
システムが
ypset
要求を受け入れるかどうかを指示します。
ypset
要求は,できるだけすべて禁止してください。
省略時の設定を使用する場合には[Return]キーを押して,その選択を確定します。
システムでマスタ・サーバが提供する NIS データベースをすべて使用するかどうかを指示します。
NIS データベースはすべて,使用することをお勧めします。
すべての NIS データベースの使用を選択すると (y
と入力するか,または省略時の設定を使用),nissetup
スクリプトは,/etc/svc.conf
ファイルを編集して,各データベースに
yp
文字列を追加します。
また,ファイル
/etc/passwd
および
/etc/group
を編集して,各ファイルの最後に + 記号とコロン (+:
) を追加します。
これによって,システムはリストされた各データベースに対して NIS を使用できます。
この記号によって,ファイルを NIS に分散させることができます。
手順 16 に進んでください。
すべての NIS データベースの使用を選択しない場合には,n
と入力して次の手順に進んでください。
ローカルの
/etc/passwd
ファイル (または
/etc/group
ファイル) の最後に + 記号とコロン (+:
) を追加するかどうかを指示します。
NIS 提供の
passwd
データベース,group
データベース,またはこの両方をシステムが使用する場合には,NIS に提供させたいファイルは,最後の行が
+:
である必要があります。
これは,データベース
passwd
および
group
にだけ適用されます。
注意
データベース
passwd
およびgroup
に対するサービス順序の選択は,SIA (Security Integration Architecture) によって行われます。/etc/sia/matrix.conf
ファイル中のpasswd
およびgroup
の情報に対してBSD
が選択されている場合,システムで NIS の検索を行うときのみ+:
が必要です。
nissetup
スクリプトで
svcsetup
スクリプトを呼び出すかどうかを指示します。
yes と答えた場合には,nissetup
スクリプトは
svcsetup
スクリプトを呼び出します。
このスクリプトを使用すると,データベース・サービス選択ファイル(svc.conf
ファイル)を変更できます。
svc.conf
ファイルの変更についての詳細は,3.3.4 項を参照してください。
no と答えた場合には,nissetup
スクリプトは次へ進みます。
システムで NIS を使用して,passwd
および
group
の情報以外のデータベース情報を得るには,svc.conf
ファイルを後で編集する必要があります。
NIS デーモンを自動的にスタートさせるかどうかを指示します。
yes と答えた場合には,nissetup
はデーモンをスタートさせます。
no と答えた場合には,nissetup
を終了した後に,次のコマンドを使用してデーモンを手動でスタートさせます。
実行すると,システム・プロンプト (#
) に戻ります。
# /sbin/init.d/nis start
クライアントを設定するには,1.2.1 項 に記述されているように SysMan Menu を呼び出し,次の手順を行ってください。
SysMan Menu から,次のように選択します。
[ネットワーク] --> [追加ネットワーク・サービス] --> [NIS (Network Information Service) の設定]。
SysMan Menu は
nissetup
スクリプトを呼び出します。
別の方法としては,コマンド・ライン上で以下のコマンドを入力します。
# /usr/bin/sysman nis
メッセージが表示されて,NIS を設定する前にネットワークを設定する必要があること,および,NIS サーバを設定するには Additional Networking Services サブセットをインストールする必要があることを知らされます。
NIS サーバを設定するには,NIS を設定する前にネットワークが Additional Networking Services サブセットをインストールする必要があります。
続ける場合は,c
と入力します。
nissetup
のスクリプトの説明の後で[Return]キーを押し,NIS ドメインの 3 つのタイプのシステムについてスクリプトが説明した後で[Return]キーをもう一度押します。
システムの NIS ドメイン名を,大文字と小文字の使い分けに注意して入力し,間違いがないことを確認します。
[Return] キーを押して,クライアントを構成する省略時の設定を使用します。
このドメインにサーバを最低 1 つ構成する必要があるという
nissetup
スクリプトの警告に続けて,c
と入力して次に進みます。
-s
セキュリティ・オプションを使用するかどうかを指示します。
NIS を
-s
オプション付きで実行するように選択すると,ypbind
プロセスが保護モードで実行されます。
このオプションは,できるだけ使用してください。
-S
セキュリティ・オプションを使用するかどうかを指示します。
このオプションは,できるだけ使用してください。
NIS を
-S
オプション付きで実行するように選択した場合には,最高 4 つの NIS サーバ名を入力する必要があります。
システムの
/etc/hosts
ファイルにリストされていないサーバの名前を入力すると,nissetup
スクリプトによって,そのサーバの IP アドレスの入力が求められます。
サーバのリストを入力した後,空白の「Server
n
name
」フィールド内で [Return] キーを押し,続いて
c
を入力してシステムの NIS 構成を継続します。
システムが
ypset
要求を受け入れるかどうかを指示します。
ypset
要求は,できるだけすべて禁止してください。
省略時の設定を使用する場合には
[Return]キーを押して,その選択を確定します。
システムでマスタ・サーバが提供する NIS データベースをすべて使用するかどうかを指示します。
NIS データベースはすべて使用することをお勧めします。
すべての NIS データベースの使用を選択すると
nissetup
スクリプトは,/etc/svc.conf
ファイルを編集して,各データベースに
yp
文字列を追加します。
また,ファイル
/etc/passwd
および
/etc/group
を編集して,各ファイルの最後に + 記号とコロン (+:
) を追加します。
これによって,システムはリストされた各データベースに対して NIS を使用できます。
この記号によって,ファイルを NIS に分散させることができます。
手順 13 に進んでください。
すべての NIS データベースの使用を選択しない場合には,n
と入力して次の手順に進んでください。
ローカルの
/etc/passwd
ファイル (または
/etc/group
ファイル)の最後に
+:
を追加するかどうかを指示します。
NIS 提供の
passwd
データベース,group
データベース,
またはこの両方をシステムが使用する場合には,NIS に提供させたいファイルは,
最後の行が
+:
である必要があります。
これは,データベース
passwd
および
group
にだけ適用されます。
注意
データベース
passwd
およびgroup
に対するサービス順序の選択は,SIA (Security Integration Architecture) によって行われます。/etc/sia/matrix.conf
ファイル中のパスワードおよびグループの情報に対してBSD
が選択されている場合,システムで NIS の検索を行うときのみ+:
が必要です。
svcsetup
スクリプトを呼び出すために
nissetup
スクリプトがいるかどうか指定します。
yesと答えた場合には,nissetup
スクリプトは,
データベース・サービス・セレクション・ファイル (svc.conf
ファイル) を変更することのできる
svcsetup
スクリプトを呼び出します。
svc.conf
ファイルの変更についての情報については,3.3.4 項
を参照してください。
no と答えた場合には,nissetup
スクリプトは,次へ進みます。
システムで NIS を使用して,パスワードおよびグループの情報以外のデータベース情報を分散するには,
svc.conf
ファイルを後で編集する必要があります。
NIS デーモンを自動的にスタートさせるかどうかを指示します。
yes と答えた場合には,nissetup
はデーモンをスタートさせます。
no と答えた場合には,nissetup
を終了した後に,次のコマンドを使用してデーモンを手動でスタートさせます。
実行すると,システム・プロンプト(#
)に戻ります。
# /sbin/init.d/nis start
3.3.4 svcsetup による svc.conf ファイルの変更
すべての省略時のデータベースに対して NIS を使用しないことを選択した場合には,
svcsetup
スクリプトを使用して
/etc/svc.conf
ファイルを編集することができます。
nissetup
が
svcsetup
を実行するかどうか尋ねたときに,
yes と答えると,svcsetup
スクリプトを呼び出します。
/etc/svc.conf
ファイルを編集するには,次の手順に従ってください。
[Return]
キーを押して [Configuration] メニューから
m
オプションを選択します。
変更するエントリのデータベースに対応する番号を [Change] メニューから入力します。
システムでサービスを照会する順序に対応する番号を入力します。
省略時の設定の(2)を選択すると,要求された情報を求めてローカルの
/etc
ファイルが最初に検索されます。
情報がローカルで見つからなかった場合には,NIS サーバが照会されます。
この選択は,NIS が提供するデータベースのすべてに有効です。
システムが DNS によって提供されている
hosts
情報を所有している場合に,NIS に
hosts
情報を提供させるには,hosts
データベースに対してオプション 5 (local,bind,yp
),またはオプション 6 (bind,local,yp
) を選択します。
オプション 3 (local,bind
),オプション 4 (bind,local
),オプション 5,およびオプション 6 は,hosts
データベースだけで有効であることに注意してください。
NIS を構成して
nissetup
スクリプトを実行すると,NIS 構成を変更または削除できます。
NIS 構成を変更する場合には,3.3.1 項から3.3.3 項で説明されているように,nissetup
スクリプトが動作し, その結果,新しい構成が作成されます。
NIS 構成を削除する場合には,nissetup
スクリプトは,その選択を確認して,次のファイルから NIS 情報を削除します。
/etc/rc.config.common
/etc/passwd
/etc/group
/etc/svc.conf
/var/yp/DOMAIN
(DOMAINは,現在の NIS ドメイン名です)
(NIS マスタおよびスレーブ・サーバに対してだけ) このディレクトリとその内容が削除されます。
この節では,次の NIS サーバ・タスクを実行する方法について説明します。
NIS スレーブ・サーバをドメインに追加します。
NIS スレーブ・サーバをドメインから削除します。
ユーザを NIS ドメインに追加します。
NIS マップを更新します。
NIS マップをドメインに追加します。
NIS マップをドメインから削除します。
/var/yp/Makefile
ファイルを変更します。
NIS データへのアクセスを制限します。
スレーブ・サーバをドメインに追加すると,スレーブ・サーバは,更新された NIS マップをマスタ・サーバから受信して,ドメイン内の NIS クライアントに配付できます。
NIS スレーブ・サーバをドメインに追加するには,次の手順に従ってください。
システムをスレーブ・サーバとして設定します。 スレーブ・サーバの設定についての詳細は,3.3.2 項を参照してください。
ルートとして NIS マスタ・サーバにログインします。
cd
コマンドを使用して,/var/yp
ディレクトリに移動します。
ypservers
マップを取り消し,次のコマンドを実行して,ファイルに出力するように指示します。
# ./makedbm -a method -u domainname/ypservers > filename
method
には,適切なデータベース形式を表す英字を指定します。
d
は dbm/ndbm (省略時のデータベース形式),b
は btree,h
はハッシュを表します。
domainname には NIS ドメイン名を指定し,filename には一時ファイル名を指定します。
makedbm
の出力ファイルを編集して,スレーブ・サーバのホスト名を追加します。
次のコマンドを実行して,ypservers
マップを新しく作成して古いマップと置き換えます。
# ./makedbm -a method filename domainname/ypservers
ここでも,method には,適切なデータベース形式を表す英字を指定します。 domainname には NIS ドメイン名を指定し,filename には一時ファイル名を指定します。
手順 4,5,および 6 を組み合わせて,1 つのコマンド行にすることもできます (オプション)。 この手順の最後に示す例を参照してください。
yppush
コマンドを使用して,更新された
ypservers
マップをスレーブ・サーバに配置します。
# ./yppush ypservers
スレーブ・サーバのエントリが NIS マスタ・サーバの
hosts
ファイルにまだない場合には,マスタ
hosts
ファイルを編集して追加します。
次に,make
コマンドを実行してマップを更新します。
また,make
コマンドによって,更新したマップも配置できます。
# make hosts
マップの作成についての詳細は,
makedbm
(8)
次の例 (手順 3〜8 の実行例) に,スレーブ・サーバ
host8
を
market
ドメインに追加する方法を示します。
マップは,btree
形式を想定しています。
# cd /var/yp # (./makedbm -a b -u market/ypservers ; echo host8 host8)\ [1] |./makedbm -a b - market/ypservers # ./yppush ypservers [2] # vi ./src/hosts [3]
.
.
.
# make hosts [4]
上記の手順 4,5,および 6 の組み合わせを表しています。
makedbm
コマンドの出力が表示されて,新しいサーバ名である
host8
が,ファイルに追加するために標準出力にエコーされています。
出力は,makedbm
コマンドに引き渡され,新しく作成されたマップで古い
ypservers
マップを上書きします。
注意
行が画面上で折り返して表示される場合でも,これらの行を 1 つのコマンドとして入力できます。 または,例に示すように,バックスラッシュ・エスケープ文字 (\) を使用できます。
更新されたマップをスレーブ・サーバに配置します。 [例に戻る]
必要に応じて,マスタ・サーバ上の
hosts
NIS ソース・ファイルに新しいスレーブ・サーバを追加します。
[例に戻る]
マップを更新して,更新された
hosts
マップをスレーブ・サーバに配置します。
[例に戻る]
B.1 節に含まれているサンプル・スクリプトは,スレーブ・サーバのドメインへの追加に含まれている手順を実行します。
必要に応じてスレーブ・サーバを設定し,マスタ・サーバの
hosts
ファイルを編集して,スレーブ・サーバのエントリを追加する必要があります。
3.4.2 ドメインからの NIS スレーブ・サーバの削除
スレーブ・サーバをドメインから削除すると,システムが更新された NIS マップをマスタ・サーバから受信できなくなり,ドメイン内の NIS クライアントにそれらを配付できなくなります。
NIS スレーブ・サーバをドメインから削除するには,次の手順に従ってください。
NIS スレーブ・サーバにログインします。
システムが NIS クライアントになる場合には,nissetup
を使用して,NIS クライアントとして構成します。
詳細については,3.3.3 項を参照してください。
システムが NIS を使用しない場合には,次のコマンドを使用して,/etc/rc.config
ファイル内の NIS 構成フラグをオフにします。
# /usr/sbin/rcmgr set NIS_CONF NO
ルートとして NIS マスタ・サーバにログインします。
cd
コマンドを使用して,/var/yp
ディレクトリに移動します。
ypservers
マップを取り消し,次のコマンドを実行してファイルに出力するように指示します。
# ./makedbm -a method -u domainname/ypservers > filename
method
には,適切なデータベース形式を表す英字を指定します。
d
は dbm/ndbm (省略時のデータベース形式),b
は btree,h
はハッシュを表します。
domainname には NIS ドメイン名を指定し,filename には一時ファイル名を指定します。
makedbm
の出力ファイルを編集して,スレーブ・サーバのホスト名を削除します。
次のコマンドを実行して,ypservers
マップを新しく作成します。
# ./makedbm -a method filename domainname/ypservers
ここでも,method には,適切なデータベース形式を表す英字を指定します。 domainname には NIS ドメイン名を指定し,filename には一時ファイル名を指定します。
手順 4,5,および 6 を組み合わせて,1 つのコマンド行にすることもできます (オプション)。 この手順の最後に示す例を参照してください。
yppush
コマンドを使用して,更新された
ypservers
マップをスレーブ・サーバに配置します。
# ./yppush ypservers
必要であれば,NIS マスタ・サーバの
hosts
ソース・ファイルを編集してスレーブ・サーバのエントリを削除します。
次に
make
コマンドで
hosts
マップを更新します。
make
コマンドは更新したマップの配置も行います。
# make hosts
マップの作成についての詳細は,
makedbm
(8)
次の例 (手順 3〜8 の実行例) に,market
ドメインからスレーブ・サーバ
host4
を削除する方法を示します。
マップは,btree
形式を想定しています。
# cd /var/yp # ./makedbm -a b -u market/ypservers |\ [1] grep -v host4 | ./makedbm -a b - market/ypservers # ./yppush ypservers [2] # vi ./src/hosts [3]
.
.
.
# make hosts [4]
上記の手順 4,5,および 6 の組み合わせを表しています。
makedbm
コマンドの出力は,スレーブ・サーバ名 (host4
) を含む行以外のすべての行を表示するために,-v
オプション付きの
grep
に引き渡されます。
出力は,makedbm
コマンドに引き渡され,新しく作成されたマップで古い
ypservers
マップを上書きします。
注意
行が画面上で折り返して表示される場合でも,これらの行を 1 つのコマンドとして入力できます。 または,例に示すように,バックスラッシュ・エスケープ文字 (\) を使用できます。
更新されたマップをスレーブ・サーバに配置します。 [例に戻る]
必要に応じて,マスタ・サーバ上の
hosts
NIS ソース・ファイルからスレーブ・サーバを削除します。
[例に戻る]
hosts
マップを更新して,更新したマップをスレーブ・サーバに配置します。
[例に戻る]
B.2 節に含まれているサンプル・スクリプトは,ドメインからのスレーブ・サーバの削除に含まれている手順を実行します。
スレーブ・サーバは,NIS クライアントとして,または NIS を使用しないシステムとして再構成する必要があります。
3.4.3 NIS ドメインへの新しいユーザの追加
新しいユーザを NIS ドメインに追加すると,そのユーザのアカウント情報が
passwd
マップに追加され,そのユーザは NIS 環境を利用できるようになります。
ユーザは,NIS を使用するすべてのシステムで,passwd
マップ用に 1 つだけパスワードを所有します。
NIS ドメインに新しいユーザを追加するには,NIS マスタ・サーバで SysMan Menu を起動 (1.2.1 項を参照) し,次の手順を実行します。
SysMan Menu で [アカウント-->NIS ユーザの管理] を選択し,「NIS ユーザの管理」ダイアログ・ボックスを表示します。
または,コマンド行で次のコマンドを入力します。
# /usr/bin/sysman nis_users
[追加] を選択し,「ユーザの追加」ダイアログ・ボックスを表示します。
追加するユーザのユーザ名,ユーザ ID,およびパスワードを入力します。
追加するユーザのプライマリ・グループを選択します。
[選択] を選択して「プライマリ・グループ」ダイアログ・ボックスをオープンします。
リストからグループを 1 つ選択してから,[了解] を選択して「プライマリ・グループ」ダイアログ・ボックスをクローズします。
必要に応じて,ユーザのセカンダリ・グループを選択します。
ユーザのシェルを選択します。
[選択] を選択して「シェル」ダイアログ・ボックスをオープンします。
プルダウン・メニューからシェルを 1 つ選択してから,[了解] を選択して「シェル」ダイアログ・ボックスをクローズします。
追加するユーザのホーム・ディレクトリをシステムに作成させない場合は,「ホーム・ディレクトリの作成」チェック・ボックスの選択を解除します。
省略時の設定では,/usr/users
ディレクトリ内に,各ユーザのホーム・ディレクトリが作成されます。
追加するユーザのホーム・ディレクトリをシステムが作成する場合は,「ホーム・ディレクトリ」フィールドで別のディレクトリを指定することもできます。
必要に応じて,新しいアカウントに関するコメントを入力します。 たとえば大学では,このフィールドを使用して,新しいアカウントが客員教授用の一時的なアカウントであることを示すことができます。
「アカウントのロック」チェック・ボックスの選択を解除し,アカウントをアンロックします。 アカウントをアンロックすると,対応するユーザによるログインと,そのアカウントの使用が許可されます。
[了解] を選択し,ユーザ・アカウントを作成します。 アカウントが作成されたことを通知するメッセージが表示されます。 [了解] を選択して確認メッセージを消去し,「ユーザの追加」ダイアログ・ボックスをクローズします。
[終了] を選択して「NIS ユーザの管理」ダイアログ・ボックスをクローズします。
このユーティリティでユーザのホーム・ディレクトリを作成しなかった場合は,そのディレクトリを作成します。 続いて,ユーザ環境のセットアップを行います。 詳細については,『システム管理ガイド』を参照してください。
SysMan Menu を使用して NIS ユーザ・アカウントを変更したり削除することも可能です。 詳細については,オンライン・ヘルプを参照してください。
NIS ユーザは,dxaccounts
ユーティリティや
useradd
ユーティリティを使用して管理することもできます。
詳細については,オンライン・ヘルプと
useradd
(8)3.4.4 NIS ドメインへのグループの追加
NIS ドメインにグループを追加すると,そのグループと,グループに登録されている全ユーザが,group
マップに追加されます。
NIS ドメインにグループを追加するには,NIS マスタ・サーバで SysMan Menu を起動 (1.2.1 項を参照) し,次の手順を実行します。
SysMan Menu で [アカウント-->NIS グループの管理] を選択し,「NIS グループの管理」ダイアログ・ボックスを表示します。
または,コマンド行で次のコマンドを入力します。
# /usr/bin/sysman nis_groups
[追加] を選択し,「グループの追加」ダイアログ・ボックスを表示します。
追加するグループのグループ名とグループ ID を入力します。
そのグループに属するユーザを 1 人以上,「メンバ」リストから選択します。
[了解] を選択してグループを作成します。 グループが作成されたことを通知するメッセージが表示されます。 [了解] を選択して確認メッセージを消去し,「グループの追加」ダイアログ・ボックスをクローズします。
[終了] を選択して「NIS グループの管理」ダイアログ・ボックスをクローズします。
SysMan Menu を使用して NIS グループを変更したり削除することも可能です。 詳細についてはオンライン・ヘルプを参照してください。
NIS グループは,dxaccounts
ユーティリティや
groupadd
ユーティリティを使用して管理することもできます。
詳細については,オンライン・ヘルプと
groupadd
(8)3.4.5 NIS マップの更新
NIS マップを更新すると,NIS マップのマスタ・ファイルが変更され,Makefile
ファイルが更新され (マップがリストされていない場合),新しいマップが作成されて配置されます。
次の標準マップのエントリは,Makefile
ファイルに含まれています。
passwd
group
hosts
networks
rpc
services
protocols
netgroup
aliases
(mail.aliases
)
マスタ・ファイルは,NIS マスタ・サーバの
/var/yp/src
ディレクトリ内にあります。
NIS マップを更新するには,次の手順に従ってください。
ルートとして NIS マスタ・サーバにログインします。
cd
コマンドを使用して,/var/yp
ディレクトリに移動します。
更新するマップの
/var/yp/Makefile
ファイルにエントリがない場合には,Makefile
ファイルを変更します。
Makefile
ファイルを変更する方法についての説明は,3.4.8 項を参照してください。
cd
コマンドを使用して,/var/yp/src
ディレクトリに移動します。
更新するマップのマスタ・ファイルを編集して変更します。
cd
コマンドを使用して,/var/yp
ディレクトリに移動します。
次のように
make
コマンドを使用して,マップを更新して配置します。
# make map_name
次の例 (手順 4〜7 の実行例) に,hosts
マップを更新する方法を示します。
# cd var/yp/src [1] # vi hosts [2]
.
.
.
# cd /var/yp [3] # make hosts [4]
/var/yp/src
ディレクトリに移動します。
[例に戻る]
/var/yp/src/hosts
ファイルをオープンして編集します。
[例に戻る]
/var/yp
ディレクトリに移動します。
[例に戻る]
マップを更新して,スレーブ・サーバに配置します。 [例に戻る]
NIS マップをドメインに追加すると,NIS ドメイン全体にデータベース情報を配置できます。 分散したいすべての情報のマップを作成して,配置できます。
NIS マップをドメインに追加するには,次の手順に従ってください。
ルートとして NIS マスタ・サーバにログインします。
新しいマップのマスタ・ファイルを作成します。
マスタ
passwd
ファイルは,独立したエントリからなる ASCII テキスト・ファイルです。
各エントリには,スペースで区切られたフィールドがあります。
これらのフィールドのいくつかは,各エントリのキーを作成するために使用されます。
/var/yp/src
ディレクトリのマスタ・ファイルのいくつかを調べると,マスタ・ファイルの構造体をより深く理解できます。
NIS を使用して NFS Automount マップや AutoFS マップを分散する場合には,/var/yp/src
ディレクトリに,auto.master
という名前のファイルを作成します。
このファイルが存在する場合には,分散するマップのエントリを追加します。
/var/yp/Makefile
ファイルを編集して,マップの省略時のセットに新しいマップを含めます。
Makefile
ファイルの変更についての説明は,3.4.8 項を参照してください。
cd
コマンドを使用して,/var/yp
ディレクトリに移動します。
次のように,make
コマンドを使用して,マップを更新します。
# make map_name
次の例では,phonelist
マップをドメインに追加します。
# vi /var/yp/src/phonelist [1]
.
.
.
# vi /var/yp/Makefile [2]
.
.
.
# cd /var/yp [3] # make phonelist [4]
マスタ・サーバのマスタ・ファイル
phonelist
を作成します。
[例に戻る]
Makefile
ファイルをオープンして編集します。
[例に戻る]
/var/yp
ディレクトリに移動します。
[例に戻る]
マップを更新して,更新されたマップを各スレーブ・サーバに配置します。 [例に戻る]
NIS マップをドメインから削除すると,データベース情報を NIS ドメイン全体に配置できません。
NIS マップをドメインから削除するには,次の手順に従ってください。
ルートとして NIS マスタ・サーバにログインします。
NIS を使用して NFS Automount マップや AutoFS マップを分散している場合には,/var/yp/src
ディレクトリの
auto.master
ファイルから,分散不要なマップのエントリを削除します。
/var/yp/Makefile
ファイルを編集して,マップの省略時のセットからこのマップを削除します。
Makefile
ファイルの変更についての詳細は,3.4.8 項を参照してください。
3.4.8 /var/yp/Makefile ファイルの変更
Makefile
ファイルの変更によって,NIS マスタ・サーバの
/var/yp/Makefile
ファイルに対して,データベース・エントリを追加または削除できます。
データベース・エントリを
Makefile
ファイルに追加することによって,make
コマンドを使用するときに,
特定のデータベースのマップを作成することを指示します。
データベース・エントリを削除することによって,特定のデータベースのマップを作成しないことを指示します。
/var/yp/Makefile
ファイルを編集する場合には,次のことに注意してください。
all:
で始まる行のエントリの順序は重要ではありません。
ただし,継続行では,行頭のブランクはタブ文字である必要があります。
スペースは使用できません。
変数は
Makefile
ファイルの先頭で定義します。
エントリを
Makefile
ファイルに追加するには,次の手順に従ってください。
ルートとして NIS マスタ・サーバにログインします。
/var/yp/Makefile
ファイルを編集して,all:.
で始まる行にデータベース名を追加します。
次に,ファイルの最後に次のフォーマットの行を追加します。
database_name:database_name.time
最後に,ファイルの中間に次のフォーマットのエントリを追加します。
database_name.time: various_commands
このエントリの作成を簡略化するには,ファイルの
auto.home.time:
エントリをコピーして,必要なデータベース名を変更します。
NIS を使用して,NFS Automount マップや AutoFS マップを分散している場合には,auto.master
文字列を含むすべての行のコメントを解除するために,先頭のコメント文字 (#
) を削除します。
次の例に,/var/yp/Makefile
ファイルに追加されるphonelist
データベースを示します。
all:
行の
netgroup
データベース名の前に,タブ文字があります。
all: passwd group hosts networks rpc services protocols \ netgroup aliases phonelist
.
.
.
$(YPDBDIR)/$(DOM)/phonelist.time: $(DIR)/phonelist -@if [-f $(DIR)/phonelist ]; then \ $(SED) -e "/^#/d" -e s/#.*$$// $(DIR)/phonelist | \ $(MAKEDBM) - $(YPDBDIR)/$(DOM)/phonelist; \ $(TOUCH) $(YPDBDIR)/$(DOM)/phonelist.time; \ $(ECHO) "updated phonelist"; \ if [ ! $(NOPUSH) ]; then \ $(YPPUSH) phonelist; \ $(ECHO) "pushed phonelist"; \ else \ : ; \ fi \ else \ $(ECHO) "couldn't find $(DIR)/phonelist"; \ fi
.
.
.
phonelist: phonelist.time
エントリを
Makefile
ファイルから削除するには,次の手順に従ってください。
ルートとして NIS マスタ・サーバにログインします。
/var/yp/Makefile
ファイルを編集して,all:
で始まる行からデータベース名を削除し,データベース名 (database_name:
) で始まる行を削除します。
データベース行を削除する代わりに,コメント文字 (#
) を行の先頭に追加して,その行をコメントアウトしても構いません。
省略時の設定では,ypserv
および
ypxfrd
デーモンは,NIS サーバへアクセスするすべてのユーザに NIS 情報を提供します。
ただし,次の手順を行うことによって,指定したサブネットのホストだけに NIS データベースへのアクセスを制限することができます。
NIS サーバに root としてログインします。
/var/yp/securenets
ファイルを作成します。
/var/yp/securenets
ファイルを編集して,NIS サーバが NIS 要求を受け付けるサブネットに対するエントリを追加します。
ファイル・エントリのフォーマットは次のとおりです。
subnet_mask subnet_ip_address
以下に例を示します。
255.255.0.0 128.30.0.0 [1] 255.255.255.0 128.211.10.0 [2] 255.255.255.255 128.211.5.6 [3]
ファイルを保存します。
ファイルが存在しない場合,あるいはエントリを含まない場合,サーバはすべての NIS 要求を受け付けます。
ファイルにエントリが含まれている場合は,ypserv
および
ypxfrd
デーモンがインストレーション中に
/var/yp/securenets
ファイルを読み取ります。
NIS 要求を受け取ると,/var/yp/securenets
ファイルのサブネットと 要求ホストの IP アドレスが比較されます。
アドレスが一致すれば要求は処理されます。
一致しない場合は NIS は要求を破棄します。
システム・ディスクがこれらのメッセージで一杯になってしまうのを防ぐために,
メッセージはログ・ファイルに記録されません。
NIS 要求を発行したシステム側では,ypcat
などの NIS コマンドはエラー・メッセージを出力せずに終了します。
ユーザがシステムにログインしようとするとログイン・タイムアウトになります。
注意
/var/yp/securenets
ファイルを変更した場合は,ypserv
およびypbind
を終了し,再起動する必要があります。
/var/yp/securenets
ファイルを使用して,NIS スレーブ・サーバ上の NIS データへのアクセス制限を行うこともできます。
ただし,NIS スレーブ・サーバの IP アドレスは,NIS マスタの
/var/yp/securenets
ファイルのエントリの認証範囲内でなければなりません。
3.5 NIS クライアントの管理
この節では,次の NIS クライアント管理タスクを実行する方法について説明します。
NIS パスワードの変更
マップ情報の取得
NIS の
passwd
マップに格納されているユーザのパスワードを変更するには,yppasswd
コマンドを使用します。
エラー・メッセージを受信した場合には,マスタ・サーバのシステム管理者に問い合わせて,NIS マスタ・サーバの
rpc.yppasswdd
デーモンが実行していることを確かめます。
passwd
コマンドを使用して NIS がディストリビュートしたパスワードを変更しようとすると,
次のエラー・メッセージを受信します。
Not in passwd file.
root パスワードはローカルであり,NIS ファイルにはありません。
変更するためには
passwd
コマンドを使用します。
詳細については,
yppasswd
(1)rpc.yppasswdd
(8)3.5.2 NIS マップ情報の取得
マップ名
マップ値
マップ・キー
マップ・マスタ・サーバ
NIS マップ情報を取得するには,表 3-1にリストされているコマンドの 1 つを使用します。
表 3-1: NIS マップ情報コマンド
コマンド | 処置 |
ypcat |
NIS データベースからの値をプリントします。 |
ypwhich |
現在の NIS サーバかマップ・マスタのホスト名をプリントします。 |
ypmatch |
NIS マップからの 1 つまたは複数のキーの値をプリントします。 |
すべてのマップの別名をリストするには,表 3-1に示すコマンドとともに
-x
オプションを使用します。
これらのコマンドについての詳細は,
ypcat
(1)ypwhich
(1)ypmatch
(1)
次のコマンドは,使用可能なマップとそれらのマスタ・サーバをすべてリストします。
# ypwhich -m
次のコマンドは,hosts
マップのすべての値をリストします。
# ypcat hosts
次のコマンドは,hosts
マップで
apple
キーを所有しているものすべてをリストします。
# ypmatch apple hosts
次のコマンドは,hosts
マップで
jones
という名前に関連のあるものすべてをリストします。
jones
という名前は,このマップのキーではありません。
# ypcat hosts | grep jones