書式
/usr/sbin/ypserv [ -d [ path ] ] [ -p port ]
説明
Network Information Service (NIS) は、 データベースとそれらを扱うプロセスとからなる シンプルなネットワーク検索サービスである。 データベースは gdbm 形式のファイルで、 /var/yp 以下のディレクトリツリーに置かれる。
ypserv デーモンは、通常システムのスタートアップの時に起動される。 ypserv は、完全な NIS データーベースを保管する NIS サーバーマシンでのみ実行される。 NIS サービスを利用する他のマシンでは、クライアントとして ypbind を動作しさえすればよい。あるいは Linux なら NYS のサポートされた libc を用いてもよい。 ypbind は NIS クライアントプロセスの動作するすべてのマシンで起動しなければならない。 その際 ypserv の動作しているマシンは、 ネットワークの同じノードでも他のノードでもかまわないが、 必ずネットワークのどこかに存在していなければならない。 スタートアップの時や SIGHUP シグナルを受け取った時には、 ypserv は /etc/ypserv.conf ファイルを読み込み、その内容を解釈して利用する。
オプション
- -d --debug [path]
- サーバーをデバッグモードで起動する。 通常 ypserv は syslog(3) を通してエラーメッセージ (アクセス権の侵害や dbm の障害など) のみを 報告する。これに対してデバッグモードでは、 サーバーはバックグラウンドへ待避せず、 アクセス要求を受けるたびに細かなステータスメッセージを 標準エラー出力に表示する。 path は省略可能なパラメータで、指定すると ypserv はこのディレクトリを /var/yp の代わりに利用する。
- -p --port port
- ypserv がバインドするポート番号を指定する。このオプションを用いると、 ルータに NIS ポートへのパケットをフィルタリングさせ、 インターネットからの NIS サーバーへのアクセスを制限できる。
- -v --version
- バージョン番号を表示する。
セキュリティ
いったんドメインネームがわかってしまうと、リモートユーザーは誰でも ypserv への RPC を発行して、 NIS マップの内容を入手できてしまう。 このような、本来許可されるべきでないトランザクションを防ぐために、 ypserv では securenets という機能をサポートしており、指定されたホスト以外からのアクセスを 制限できるようになっている。起動時や SIGHUP シグナルを受けた時に、 ypserv は /var/yp/securenets というファイルから securenets 情報をロードしようと試みる。 このファイルにはネットワークとネットマスクの組を、スペースで 区切ったものが指定されている。``#'' で始まる行はコメントと みなされる。- 以下に securenets ファイルの簡単な例を示す。
-
# allow connections from local host -- necessary
host 127.0.0.1
# same as 255.255.255.255 127.0.0.1
#
# allow connections from any host
# on the 131.234.223.0 network
255.255.255.0 131.234.223.0
# allow connections from any host
# between 131.234.214.0 and 131.234.215.255
255.255.254.0 131.234.214.0
ypserv がルールにマッチしなかったアドレスからの要求を受け取ると、 その要求は無視され、警告メッセージがログに記録される。 /var/yp/securentes ファイルが存在しない場合には、 ypserv はすべてのホストからの接続を許可する。
/etc/ypserv.conf に、特殊なマップやホストに対するアクセスルールを指定することもできる。 しかしこれは必ずしも安全ではなく、クラッカーからのアタックを多少面倒に させるだけにすぎない。 mapname がルールにマッチしないと、 ypserv はそのマップの YPSECURE キーを見る。キーが存在すれば、 ypserv は特権ポートからの要求以外を許可しない。
セキュリティ上の理由から、 ypserv はマップ更新のために用いられる ypproc_xfr 要求を、以前と同じ マスターサーバーからしか受けつけない。つまり、あるマップに対する マスターサーバを変更するには、スレーブサーバーは 再インストールする必要がある。
ファイル
/etc/ypserv.conf /var/yp/securenets作者
ypserv は Peter Eriksson <[email protected]> によって書かれた。 Thorsten Kukuk <[email protected]> がマスター/スレーブサーバの サポートを追加し、現在のメンテナンスを行っている。