日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
YPSERV(8) FreeBSD システム管理者マニュアル YPSERV(8) 名称 ypserv -- NIS データベースサーバ 書式 ypserv [-n] [-d] [-P port] [-p path] 解説 NIS は、複数の UNIX ベースのマシン間で共通の設定ファイルの集合を共有する ための RPC ベースのサービスです。NIS では、/etc/hosts, /etc/passwd, /etc/group といった、ほとんどの環境で頻繁に更新されるファイルの複数のコ ピーをシステム管理者が更新する必要は無く、計算機のグループで一箇所で更新 可能な 1 組のデータを共有することができます。 ypserv ユーティリティは、NIS ドメイン内のクライアントシステムに NIS デー タベースを配布するサーバです。NIS ドメイン内のクライアントは、 domainname(1) コマンドを使用し、ypserv がサービスしているドメイン名を設定 しなければなりません。また、単一 NIS ドメイン中に複数のサーバが存在しうる ため、クライアントは、ypbind(8) を実行させ、特定のサーバに接続する必要も あります。 ypserv によって配布されるデータベースは、/var/yp/[domainname] に格納され ます。ここで domainname は、サービスを受けるドメイン名です。この様なディ レクトリは、様々なドメイン名にて複数存在可能ですが、単一の ypserv デーモ ンにて全て処理可能です。 データベース (もしくはしばしば、マップと呼ばれます)は、様々なシステムファ イルをソースとして /var/yp/Makefile によって作成されます。データベース ファイルは、db(3) フォーマットであり、レコード数が多くとも高速に検索可能 です。FreeBSD では、セキュリティのため、マップの読み書きは、root のみ可能 です。技術的には、このような制限は、パスワードマップにのみ必要ですが、他 のマップの内容は、誰もが読める他のファイルに書いてありますので、この様な 制約は、害ではなく、現実的であると考えられています。 ypserv ユーティリティは、/etc/rc.conf にて有効にされている場合に /etc/rc.d/ypserv から起動されます。 特別な仕様 FreeBSD のパスワードデータベースを NIS によって配布する場合にいくつかの問 題があります。FreeBSD は、通常、暗号化したパスワードを、root のみ読み書き 可能な /etc/master.passwd にのみ格納します。このファイルを NIS マップにす ると、セキュリティが完全に破れてしまいます。 これに対処するために、ypserv の FreeBSD バージョンは、 master.passwd.byname と master.passwd.byuid マップを特別な方法で扱いま す。サーバがこれらの 2 つのマップ (または、つまり、shadow.byname または shadow.byuid マップのいずれか) のいずれかにアクセスするという要求を受信す るとき、発信元の要求から TCP ポートをチェックし、ポート番号が 1023 より大 きいなら、エラーを返します。スーパユーザのみ 1024 より小さい TCP ポートに バインドする事を許されているため、サーバは、これを利用して特権ユーザから の要求か否かを判定できます。非特権ユーザからの全ての要求は、拒否されま す。 また、FreeBSD の標準 C ライブラリ中の getpwent(3) ルーチンは、スーパユー ザが使用した場合には、master.passwd.byname と master.passwd.byuid のマッ プからデータを取得します。通常のユーザがこれらのルーチンをコールした場合 には、標準の passwd.byname と passwd.byuid のマップにアクセスします。後者 の 2 つのマップは、/var/yp/Makefile により、master.passwd ファイルをパー スし、パスワードフィールドを削除する事により作成されますので、非特権ユー ザに渡しても安全です。このように master.passwd データベースのシャドウパス ワード機構は、NIS においても守られます。 注 マスタサーバとスレーブサーバの設定 ypinit(8) は、便利なスクリプトであり、NIS のマスタサーバおよびスレーブ サーバの設定の助けになります。 制限 NIS 環境にてシャドウパスワードを使用することに起因する問題が 2 つありま す。ユーザは、次のことに気をつけねばなりません。 1. `TCP ポートが 1024 より小さい' というテストは、非常に簡単であ るため、同一ネットワーク上の、無制限のアクセスが可能なマシンを 持つユーザは、これを破る事が可能です (UNIX ベースではないオペ レーティングシステムを実行するマシンでも可能です)。 2. FreeBSD システムを、シャドウパスワードをサポートしない非 FreeBSD クライアント (ほとんどがそうです) に対するサーバにしよ うとしている場合には、/var/yp/Makefile の UNSECURE=True エント リのコメントを外し、シャドウパスワードを無効にする必要がありま す。これにより、passwd.byname と passwd.byuid のマップに、非 FreeBSD クライアントが NIS を通じてユーザ認証を行うために必要 とする、有効な暗号化されたパスワードフィールドが含まれるように なります。 セキュリティ 一般的に、リモートユーザは、ドメイン名を知ってさえいれば、RPC を ypserv に発行し、NIS マップの内容を取得可能です。このような権限の無いトランザク ションを防ぐために、ypserv には、securenets と呼ばれる、あるホストの集合 にのみアクセスを制限する機能があります。起動時に、ypserv は、securenets 情報をファイル /var/yp/securenets から読み込みます (後述するように、この パスは、-p オプションによって指定するパスによって変化することに注意して下 さい)。このファイルは、空白によって区切られるネットワークとネットワークマ スクからなるエントリを複数含みます。``#'' から始まる行は、コメントと見な されます。securenets ファイルの例を以下に示します: # allow connections from local host -- mandatory 127.0.0.1 255.255.255.255 # allow connections from any host # on the 129.168.128.0 network 192.168.128.0 255.255.255.0 # allow connections from any host # between 10.0.0.0 to 10.0.15.255 10.0.0.0 255.255.240.0 ypserv がこれらのルールに適合するアドレスからの要求を受け取った場合には、 通常通り要求を処理します。アドレスがルールに適合しない場合には、要求は、 無視され、警告がログされます。/var/yp/securenets ファイルが存在しない場合 には、ypserv は、全てのホストからの接続を許します。 ypserv ユーティリティは、Wietse Venema の tcpwrapper パッケージをサポート します。これにより、アクセス管理のために、システム管理者は、tcpwrapper の 設定ファイル (/etc/hosts.allow と /etc/hosts.deny) を /var/yp/securenets の代わりに使用できます。 注: どちらのアクセス制御もそれなりのセキュリティを提供しますが、特権ポー トテストと同様に ``IP 詐称 (spoofing)'' 攻撃には、無力であることに注意し て下さい。 NIS v1 互換性 このバージョンの ypserv は、NIS v1 クライアントに対してある程度サービス可 能です。FreeBSD の NIS 実装は、NIS v2 プロトコルのみを使用しますが、他の 実装では、古いシステムとのバックワードコンパチビリティのために v1 プロト コルもサポートしています。そのようなシステムで提供されている ypbind(8) デーモンは、実際には、おそらく不要なのですが、NIS v1 サーバにバインドしよ うとします (そして、v2 サーバから返答を受け取ったとしてもサーバを探すため にブロードキャストし続けます)。このバージョンの ypserv では、通常のクライ アントの呼び出しは、サポートされていますが、v1 マップ転送要求は、扱いませ ん。すなわち、古い NIS サーバとともに、マスタもしくはスレーブとして使用す ることはできません。好運なことに、今日では、この様なサーバは、存在しない でしょう。 NIS クライアントでもある NIS サーバ 複数のサーバが存在するドメインにおいて、サーバが NIS クライアントでもある 場合には、ypserv の実行に注意を払う必要があります。バインド要求をブロード キャストさせてサーバ間でバインドさせるのではなく、サーバを自分自身にバイ ンドすることは、一般的には良い考えです。あるサーバがダウンし、他のサーバ がそのサーバに依存していた場合には、奇妙な障害が生じ得ます (結果として全 てのクライアントがタイムアウトし、他のサーバにバインドしようとしますが、 遅延は、無視できず、サーバは、まだ互いにバインドしようとしますので、障害 は、残ります)。 特定のサーバに強制的にバインドさせるための詳細は、ypbind(8) マニュアル ページを参照してください。 オプション 以下のオプションが ypserv にてサポートされています。 -n このオプションは、ypserv が hosts.byname と hosts.byaddress のマッ プに対する yp_match 要求を扱う方法を操作します。デフォルトでは、 ypserv が与えられたホストのエントリをホストマップ中に見つけられな かった場合には、エラーを返しそれ以上の処理を行いません。-n フラグを 指定すると、ypserv は、さらなる処理を行います。すぐにあきらめずに、 ホスト名もしくはアドレスを DNS ネームサーバに問い合わせて解決しよう とします。問い合わせが成功すると、ypserv は、偽のデータベースレコー ドを作成し、それをクライアントに返しますので、クライアントの yp_match 要求は、成功したように見えます。 この仕様は、SunOS 4.1.x との互換性のために用意されています。そのシ ステムの標準 C ライブラリでは、リゾルバが腐っており、ホスト名とアド レスの解決のために NIS に依存していました。FreeBSD のリゾルバは、 DNS への問い合わせを直接行えますので、FreeBSD である NIS クライアン トに対してのみサービスする場合は、このオプションを有効にする必要は ありません。 -d サーバをデバッグモードで実行します。通常 ypserv は、異常時のエラー (アクセス違反、ファイルアクセス失敗) のみを syslog(3) 機能を使用し て報告します。デバッグモードでは、サーバは、自身をバックグラウンド では実行せず、リクエストを受けるたびに、状態を表す追加のメッセージ を標準エラー出力に表示します。また、デバッグモードで実行している間 は、通常とは異なり、yp_all 要求処理時や DNS 検索処理時に ypserv サ ブプロセスを生成しません (これらの処理は、多くの場合完了までに時間 がかかるためにサブプロセスにより処理され、親であるサーバは、別の要 求を処理できるようになっています)。これによりデバッグツールによる サーバのトレースが容易になります。 -h addr 要求のためにバインドされる特定のアドレスを指定します。このオプショ ンは、複数回指定できます。-h オプションが指定されないなら、ypserv は、各輸送のためのデフォルトのパッシブ (passive) アドレス (例えば、 IPv4 のための INADDR_ANY) をバインドします。 -P port ポート自体を選択するより、ypserv を特定の TCP/UDP ポートに強制的に バインドします。 -p path 通常 ypserv は、NIS マップは、/var/yp 以下にあるものと想定します。 -p フラグを使用し、別の NIS ルートパスを指定できますので、システム 管理者は、ファイルシステム中の別の場所にマップファイルを移動できま す。 関連ファイル /var/yp/[domainname]/[maps] NIS マップ /etc/nsswitch.conf 名前切り替え設定ファイル /var/yp/securenets ホストアクセス制御ファイル 関連項目 ypcat(1), db(3), hosts_access(5), rpc.yppasswdd(8), yp(8), ypbind(8), ypinit(8), yppush(8), ypxfr(8) 歴史 このバージョンの ypserv は、FreeBSD 2.2 ではじめて登場しました。 作者 Bill Paul <wpaul@ctr.columbia.edu> FreeBSD 11.2 December 13, 2009 FreeBSD 11.2