.\" Copyright (c) 1995 .\" Bill Paul . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Bill Paul. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %FreeBSD: src/libexec/ypxfr/ypxfr.8,v 1.8.2.1 1999/08/29 15:04:28 peter Exp % .\" jpman %Id: ypxfr.8,v 1.3 1997/09/09 04:09:30 yugawa Stab % .\" .Dd February 5, 1995 .Dt YPXFR 8 .Os .Sh 名称 .Nm ypxfr .Nd "リモートのサーバからローカルホストへ NIS データベースを転送する" .Sh 書式 .Nm /usr/libexec/ypxfr .Op Fl f .Op Fl c .Op Fl d Ar target domain .Op Fl h Ar source host .Op Fl s Ar source domain .Op Fl p Ar path .Op Fl C Ar taskid program-number ipaddr port .Ar mapname .Sh 解説 .Nm ypxfr は .Tn NIS データベース(または .Pa マップ ) を .Tn NIS サービスを使用し、ある .Tn NIS サーバから別のサーバにコピーします。 .Bx Free では一般に、 .Nm は .Xr yppush 8 からマップ転送要求を受け取った .Xr ypserv 8 から 起動されます。 基本的に、 .Nm を使用するのは、単一ドメイン内で複数の .Tn NIS サーバが使用される環境です。 一台のサーバ( .Tn NIS マスタ)は全ての .Tn NIS マップの基準となるコピーを管理します。 その他のサーバ( .Tn NIS スレーブ)は、マップに更新があったとき (例えば、ユーザが .Xr yppasswd 1 を用いてパスワードを更新したとき)に、 新しいバージョンのマップをマスタからコピーします。 .Pp 実行時、 .Nm は一時データベースファイルを .Pa /var/yp/[domainmame] に作成し、 指定された .Ar source host により提供される .Ar mapname の内容で埋めます。 マップ全体の転送が完了すると、 .Nm は .Ar mapname の古いコピーを消去し、代わりに一時ファイルを置きます。 転送完了時に、 .Nm は `現在のマップのクリア' 要求を、 ローカルの .Xr ypserv 8 プロセス宛に送信し、 古いマップを参照している場合にはクリアさせようとします。 .Pp .Nm が作成した全てのファイルが所有者のみ読み書き可能なのは、 セキュリティのためである事に注意して下さい。 .Tn NIS マップとそれを格納するディレクトリは通常 root が所有しますので、 非特権ユーザによる権限の無い変更を防ぎます。 .Pp 全ての .Tn NIS サーバ間で一貫性を保持するために .Nm を .Xr cron 8 ジョブとして定期的に実行する事が出来ます。 ほとんど変更されないマップは 1 日 1 度 (システム使用率が一番低い深夜が望ましいでしょう)更新すれば良いですが、 頻繁に変更されるマップ(例えば .Pa passwd.byname や .Pa passwd.byuid ) はおそらく 1 時間に 1 度更新すべきでしょう。 .Xr cron 8 を使用し NIS マップを自動的に更新する事は厳密には必須ではありません。 なぜなら、全ての更新は .Tn NIS マスタサーバ上で .Pa /var/yp/Makefile が実行された時に .Xr yppush 8 にて伝搬されているはずだからです。 ただし、通信不能となって .Tn NIS サーバ間で同期が取れなくなる事があるような 大きなネットワークでは、良い実現方式です。 .Pp .Nm が制御端末無しで起動された場合、例えば .Xr ypserv 8 内部から起動された場合には、 .Xr syslog 3 機構を使用して、全ての出力のログを取ります。 .Sh 注釈 .Bx Free バージョンの .Nm は .Bx Free の .Xr rpc.ypxfrd 8 サーバと連動する特別なマップ転送プロトコルをサポートします。 このプロトコルは、 生のマップデータベースファイルを .Tn NIS マスタサーバから転送する事を許しますので、 特に大きな .Tn NIS マップの場合は、標準の転送方法よりも数倍高速です。 .Nm コマンドは .Tn NIS マスタサーバ上に .Xr rpc.ypxfrd 8 が登録されているかをチェックし、存在する場合にはこれを使用しようとします。 存在しない場合には、標準プロトコルを使用し、 .Xr ypserv 8 からマップの内容をコピーし、新たなマップを作成します。 .Pp 概念的には .Bx Free の ypxfrd プロトコルは SunOS の ypxfrd プロトコルと同じですが、 .Bx Free のプロトコルは SunOS のプロトコルとは互換ではないため、 Sun の ypxfrd サーバとともに使用する事は出来ない事に注意して下さい。 FreeBSD のスレーブは .Bx 非 Free の .Tn NIS サーバから マップを転送する事が出来ますが、 高速プロトコルを使用できるのは、マスタサーバも .Bx Free の場合だけです。 .Sh オプション .Nm がサポートするオプションは以下の通りです: .Bl -tag -width indent .It Fl f マップ転送を強制します。通常、 .Tn NIS マスタ上のコピーがローカルホスト上にあるコピーよりも新しくない場合には、 .Nm はマップを転送しません: .Fl f フラグにより、サーバ上のバージョンが新しいか否かにかにかかわらず、 転送します。 .It Fl c ローカルホスト上で実行されている .Xr ypserv 8 プロセス宛に `現在のマップのクリア' 要求を送信しません。 このフラグは通常 .Xr ypserv 8 を実行していないマシン上で .Nm を手動で起動する時に使用します。 このフラグを指定しないと、ローカルの .Tn NIS サーバと通信できないために、 .Nm は転送を中止します。 .It Fl d Ar target domain 現在の .Tn NIS ドメインではない別のドメイン名を指定します。 .It Fl h Ar source host .Tn NIS マップのコピー元のホスト名を指定します。 このオプションにより .Nm が .Tn NIS マスタサーバからのみマップをコピーする事を保証できます。 .It Fl s Ar source domain マップの転送元のドメインを指定します。 これは 2 つの .Tn NIS ドメイン間で転送を行う時に有用です。 .It Fl p Ar path .Tn NIS マップを保持する最上位ディレクトリを指定します。 デフォルトではこのパスは .Pa /var/yp です。 .Fl p フラグにより別のパスを指定し、 .Tn NIS マップを別の場所に格納する場合に対処できます。 .Tn NIS サーバ .Xr ypserv 8 が別のパスを使用するように指示された場合にも、このフラグを .Nm に渡します。 .It Fl C Ar taskid program-number ipaddr port .Xr yppush 8 によるマップ転送要求への応答として、 .Nm が .Xr ypserv 8 から起動された場合にのみ、このオプションは使用されます。 この場合、 .Nm は .Xr yppush 8 を `コールバック' して通信する必要がありますので、 .Xr yppush 8 は IP アドレス .Ar ipaddr 、ポート番号 .Ar port 、登録プログラム番号(registered program number) .Ar program-number 、トランザクション ID .Ar taskid を渡し、 マスタサーバ上で待っている .Xr yppush 8 プロセスと通信出来るようにします。 .It Ar mapname 転送するマップを指定します。 .El .Sh 関連ファイル .Bl -tag -width Pa -compact .It Pa /var/yp/[domainname]/[maps] ある .Tn NIS ドメインの .Tn NIS マップ。 .El .Sh 関連項目 .Xr yp 4 , .Xr ypserv 8 , .Xr yppush 8 .Sh 作者 .An Bill Paul Aq wpaul@ctr.columbia.edu