スポンサーリンク

YPXFR(8) FreeBSD システム管理者マニュアル YPXFR(8)

名称

ypxfr − リモートのサーバからローカルホストへ NIS データベースを転送する

書式

/usr/libexec/ypxfr [−f] [−c] [−d target domain] [−h source host] [−s source domain] [−p path] [−C taskid program-number ipaddr port] mapname

解説

ypxfr ユーティリティは NIS データベース (または マップ) を NIS サービスを 使用し、ある NIS サーバから別のサーバにコピーします。 FreeBSD では一般 に、 ypxfryppush(8) からマップ転送要求を受け取った ypserv(8) から起動 されます。基本的に、 ypxfr ユーティリティを使用するのは、単一ドメイン内で 複数の NIS サーバが使用される環境です。一台のサーバ (NIS マスタ) は全ての NIS マップの基準となるコピーを管理します。その他のサーバ (NIS スレーブ) は、マップに更新があったとき (例えば、ユーザが yppasswd(1) を用いてパス ワードを更新したとき) に、新しいバージョンのマップをマスタからコピーしま す。

実行時、 ypxfr は一時データベースファイルを /var/yp/[domainmame] に作成 し、指定された source host により提供される mapname の内容で埋めます。 マップ全体の転送が完了すると、 ypxfrmapname の古いコピーを消去し、代 わりに一時ファイルを置きます。転送完了時に、 ypxfr は ‘現在のマップのクリ ア’ 要求を、ローカルの ypserv(8) プロセス宛に送信し、古いマップを参照して いる場合にはクリアさせようとします。

ypxfr が作成した全てのファイルが所有者のみ読み書き可能なのは、セキュリ ティのためである事に注意して下さい。 NIS マップとそれを格納するディレクト リは通常 root が所有しますので、非特権ユーザによる権限の無い変更を防ぎま す。

全ての NIS サーバ間で一貫性を保持するために ypxfrcron(8) ジョブとして 定期的に実行する事が出来ます。ほとんど変更されないマップは 1 日 1 度 (シ ステム使用率が一番低い深夜が望ましいでしょう) 更新すれば良いですが、頻繁 に変更されるマップ (例えば passwd.bynamepasswd.byuid) はおそらく 1 時 間に 1 度更新すべきでしょう。 cron(8) を使用し NIS マップを自動的に更新す る事は厳密には必須ではありません。なぜなら、全ての更新は NIS マスタサーバ 上で /var/yp/Makefile が実行された時に yppush(8) にて伝搬されているはずだ からです。ただし、通信不能となって NIS サーバ間で同期が取れなくなる事があ るような大きなネットワークでは、良い実現方式です。

ypxfr が制御端末無しで起動された場合、例えば ypserv(8) 内部から起動された 場合には、 syslog(3) 機構を使用して、全ての出力のログを取ります。

FreeBSD バージョンの ypxfr は FreeBSD の rpc.ypxfrd(8) サーバと連動する特 別なマップ転送プロトコルをサポートします。このプロトコルは、生のマップ データベースファイルを NIS マスタサーバから転送する事を許しますので、特に 大きな NIS マップの場合は、標準の転送方法よりも数倍高速です。 ypxfr ユー ティリティは NIS マスタサーバ上に rpc.ypxfrd(8) が登録されているかを チェックし、存在する場合にはこれを使用しようとします。存在しない場合に は、標準プロトコルを使用し、 ypserv(8) からマップの内容をコピーし、新たな マップを作成します。

概念的には FreeBSD の ypxfrd プロトコルは SunOS の ypxfrd プロトコルと同 じですが、 FreeBSD のプロトコルは SunOS のプロトコルとは互換ではないた め、 Sun の ypxfrd サーバとともに使用する事は出来ない事に注意して下さい。 FreeBSD のスレーブは、非 FreeBSD の NIS サーバからマップを転送する事が出 来ますが、高速プロトコルを使用できるのは、マスタサーバも FreeBSD の場合だ けです。

オプション

ypxfr がサポートするオプションは以下の通りです:

       −f

マップ転送を強制します。通常、 NIS マスタ上のコピーがローカルホス ト上にあるコピーよりも新しくない場合には、 ypxfr はマップを転送し ません: −f フラグにより、サーバ上のバージョンが新しいか否かにかか わらず、転送します。

−c
ローカルホスト上で実行されている ypserv(8) プロセス宛に ‘現在の マップのクリア’ 要求を送信しません。このフラグは通常 ypserv(8) を 実行していないマシン上で ypxfr を手動で起動する時に使用します。こ のフラグを指定しないと、ローカルの NIS サーバと通信できないため に、 ypxfr は転送を中止します。

−d target domain
現在の NIS ドメインではない別のドメイン名を指定します。

−h source host
NIS マップのコピー元のホスト名を指定します。このオプションにより ypxfr が NIS マスタサーバからのみマップをコピーする事を保証できま す。

−s source domain
マップの転送元のドメインを指定します。これは 2 つの NIS ドメイン 間で転送を行う時に有用です。

−p path
NIS マップを保持する最上位ディレクトリを指定します。デフォルトで はこのパスは /var/yp です。 −p フラグにより別のパスを指定し、 NIS マップを別の場所に格納する場合に対処できます。 NIS サーバ ypserv(8) が別のパスを使用するように指示された場合にも、このフラ グを ypxfr に渡します。

−C taskid program-number ipaddr port
yppush(8) によるマップ転送要求への応答として、 ypxfrypserv(8) から起動された場合にのみ、このオプションは使用されます。この場 合、 ypxfryppush(8) を ‘コールバック’ して通信する必要があり ますので、 yppush(8) は IP アドレス ipaddr 、ポート番号 port 、登 録プログラム番号(registered program number) program-number 、トラ ンザクション ID taskid を渡し、マスタサーバ上で待っている yppush(8) プロセスと通信出来るようにします。

mapname
転送するマップを指定します。

関連ファイル

       /var/yp/[domainname]/[maps]

ある NIS ドメインの NIS マップ。

関連項目

yp(8), ypserv(8), yppush(8)

作者

Bill Paul ⟨wpaul@ctr.columbia.edu⟩

FreeBSD 10.0 February 5, 1995 FreeBSD 10.0

スポンサーリンク