ypbind(8) NIS バインドプロセス

書式

ypbind [ -c ] [ -d|-debug ] [ -broadcast ] [ -broken-server ] [ -ypset ] [ -ypsetme ] [ -no-ping ] [ -f configfile ]

ypbind --version

説明

ypbind は NIS ドメインのサーバを探して接続し、その NIS バインド情報を 保持する。クライアント (通常は標準 C ライブラリの NIS ルーチン) は ypbind への RPC を用いて、あるいはバインドファイルを読むことによって この情報を入手することができる。バインドファイルは /var/yp/binding に置かれており、慣習にしたがって [domainname].[version] のような名前が付けられている。 サポートされているバージョンは 1 と 2 である。 このようなファイルが複数存在することもあり得る。なぜなら NIS クライアントは複数のドメインにバインドすることもできるからである。

バインドが確立すると、 ypbind は YPPROC_DOMAIN リクエストを 20 秒間隔で現在の NIS サーバに送信する。 返信が返ってこなかったり、NIS サーバから「当該ドメインの情報はもう 保持していない」旨の返信が来た場合には、 ypbind は新しい NIS サーバを探す。 ypbind は 15 分ごとに、 現在の NIS サーバがもっとも高速であるかどうかのチェックを行う。 もしより高速なサーバがあれば、そちらに接続を切り替える。 新しいサーバを探すときには、 ypbind にネットワークブロードキャストを用いるようにさせることも できるし (これは安全でない)、または安全なことがわかっている サーバのリストを与え、その中から探すようにさせることもできる。 後者の場合は、 ypbind はすべてのサーバに ping を送り、最初に答えたサーバにバインドする。

-debug オプションが指定されなかった場合は、 ypbind は自分自身を制御端末から分離してバックグラウンドへ置く。 ypbind はエラーや警告メッセージの記録に syslog(3) を用いる。 起動時や SIGHUP シグナルを受け取ると、 ypbind/etc/yp.conf ファイルをパースして、そのエントリを用いて最初のバインドを 行おうとする。有効なエントリは以下のようなものである。

domain nisdomain server hostname

ドメイン nisdomain の情報をサーバー hostname から取得する。 この指定は、一つのドメインに対して複数回行ってかまわない。

domain nisdomain broadcast

ドメイン nisdomain に対してはローカルネットにブロードキャストを行う。

ypserver hostname

ローカルドメインの情報をサーバー server から取得する。

設定ファイルに broadcast エントリがあった場合は、 ypserver/hostname エントリは上書きされる。 boradcast エントリがなかった場合は、その他の エントリで与えられたサーバ全てがダウンしている場合でも、 ypbind はブロードキャストは用いないypbind/etc/yp.conf で与えられたホスト名の解決をする際には、まず /etc/hosts を試し、次に DNS を用いようとする。 ypbind は検索順序の再設定ができない場合には、 DNS だけを用いる。 DNS が使えない場合には、 /etc/hosts に IP アドレスの書かれているホストしか指定できない。 ypbind で検索順序の再設定をするためには glibc 2.x が必要である。 -boradcast オプションが指定された場合には、 ypbind は設定ファイルを無視する。 設定ファイルが存在しなかったり、有効なエントリがひとつもなかった 場合には、 ypbind は終了する。

この ypbindpthreads を用いた特殊なバージョンである。この ypbind は 2 つのスレッドを新たに生成する。マスタープロセスは バインド情報を尋ねてくる RPC リクエストにサービスする。 最初のスレッドはバインドを初期化して、それを定期的にチェックする。 障害が起こった場合にはバインドは無効となり、このプロセスは 有効なサーバを再び見つけようとする。二つめのスレッドは すべてのシグナルを処理する。

オプション

-broadcast
適切な NIS サーバにバインドするために必要な情報を収集するため、 ブロードキャストを送る。このオプションを指定すると /etc/yp.conf は無視される。
-ypset
任意のリモートマシンから、 ypset(8) を用いてドメインに対するバインドを変更する許可を root に与える。デフォルトではバインドを変更することは誰にもできない。 このオプションは非常に危険である。ドメインに対するバインドを 変更すると、認識していたそのドメインのサーバを全て忘れてしまう。 もしその新しいサーバがダウンした場合には、 ypbind は古い検索リストを用いることになる。
-ypsetme
-ypset と同じだが、ローカルマシンの root だけがバインドを変更できる。そのような要求は loopback からのみ許される。
-c
設定ファイルに文法エラーがないかどうかをチェックして、 そのまま単に終了する。
-debug
ypbind をデバッグモードで起動する。 ypbind は自身をバックグラウンドに送らず、エラーメッセージと デバッグ出力を標準エラー出力に書き出す。
-broken-server
正しくないポート番号で動作しているサーバからの返事を受け取る。 これは通常用いるべきでないが、 ypserv(8) のバージョンによっては必要とされることもある。
-no-ping
バインドが持続しているかをチェックしない。 このオプションはダイアルアップ接続の場合に便利である。 ypbind のみによる不必要な接続を切ったり、オートダイアルをしないようにできる。
-f configfile
/etc/yp.conf の代わりに configfile を用いる。
--version
バージョン番号を表示する。

注意

複数ドメインへのバインドもテストされており、動作する。 単一ドメインにおける複数サーバへの負荷分散はサポートされていない。 ypbind は常にドメインをサーバへバインドしようとする。 リストに有効なサーバがない場合や、ブロードキャストに対する 反応がない場合には、ドメインへのバインドは解除される。

ファイル

/etc/yp.conf
設定ファイル。
/var/yp/binding/[domainname].[version]
各々の NIS ドメインに関する情報を含むバインドファイル。
/var/run/ypbind.pid
現在動作している ypbind マスタープロセスのプロセス id が書かれているファイル。

作者

ypbind-mt は Thorsten Kukuk <[email protected]> によって書かれた。