.\" Copyright (c) 1995, 1996 .\" 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 author nor the names of 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/usr.sbin/rpc.yppasswdd/rpc.yppasswdd.8,v 1.12.2.4 2001/07/22 12:41:30 dd Exp % .\" $FreeBSD: doc/ja_JP.eucJP/man/man8/rpc.yppasswdd.8,v 1.11 2001/05/14 01:09:58 horikawa Exp $ .\" .Dd February 8, 1996 .Dt RPC.YPPASSWDD 8 .Os .Sh 名称 .Nm rpc.yppasswdd .Nd "NIS パスワードを変更するためのサーバ" .Sh 書式 .Nm .Op Fl t Ar master.passwd template file .Op Fl d Ar default domain .Op Fl p Ar path .Op Fl s .Op Fl f .Op Fl a .Op Fl m .Op Fl i .Op Fl v .Op Fl u .Op Fl h .Sh 解説 .Nm デーモンは、ユーザが .Xr yppasswd 1 と .Xr ypchpass 1 コマンド使うことで、 NIS パスワードおよび他の情報を変更することを許します。 .Nm は、パスワードの変更要求を受け入れ、その認証を行い、 .Pa /var/yp/master.passwd ファイル中に更新された情報を配置し、 NIS の .Pa master.passwd マップと .Pa passwd マップを更新する、 RPC を使ったサーバです。 .Pp .Nm は、普通の NIS ユーザが、自分の NIS パスワード・ ('GECOS'フィールドとして知られている) フルネーム・ シェルを変更することを許します。 これらの更新は、典型的には .Xr yppasswd 1 , .Xr ypchfn 1 , .Xr ypchsh 1 , .Xr ypchpass 1 コマンドを使って行われます。 (管理者の中には、ユーザが名前の情報やシェルを変更することを 望まない人もいます。サーバは、オプションフラグを使うことで、そのような 変更ができない様にできます。)サーバが更新要求を受け取ると、 .Pa /var/yp/securenets ファイルに記述されている .Pa securenets 規則 (securenets に関する詳細な情報は .Xr ypserv 8 のマニュアルページを参照してください。 .Nm サーバは、 .Xr ypserv 8 と同じアクセス制御機構を使います。) に照らして、 要求を行ったクライアントのアドレスを比較します。 .Pp サーバは、その後ユーザが入力した '古い' パスワードが有効かどうかを 確認し、その後いくつかの更新情報のチェックを行います (これらには、制御文字のチェックやコロンや有効なシェルのチェックを 含みます)。ひとたび更新要求が有効であることが満足されると、 サーバはパスワードテンプレートファイル (デフォルトでは、 .Pa /var/yp/master.passwd です) を更新し、その後 NIS マップを再構築するために .Pa /usr/libexec/yppwupdate スクリプトを実行します。(このスクリプトは、2 つの引数を受け取ります: それらは変更されたパスワードテンプレートの相対パス名と更新された ドメインの名前です。これらは、 .Pa /var/yp/Makefile に渡されます。) .Pp .Fx 版の .Nm は、NIS マスタサーバ上のスーパユーザが NIS パスワードマップを更新するための より洗練された方法を提供します。スーパユーザは任意のドメインの 任意のユーザの master.passwd エントリの任意のフィールドを変更できます。 これは、ユーザの現在の NIS パスワードについて知らなくても可能です (サーバがスーパユーザからの要求を受け取ると、パスワード認証は 省略します)。そのうえ、サーバが .Fl a フラグ付きで実行された時には、スーパユーザは .Xr ypchpass 1 を使って、新しいエントリをマップに付け加えることさえできます。 また、これは、 NIS マスタサーバ上のスーパユーザだけに適用されます。 これらの特別な機能はネットワークを介しては提供されません。 .Pp .Nm デーモンは、 NIS マスタサーバである機械上でだけ実行することが できます。 .Sh オプション 以下のオプションが使用可能です: .Bl -tag -width indent .It Fl t Ar master.passwd template file デフォルトでは、 .Nm は、デフォルトドメインの .Pa master.passwd と .Pa passwd を生成するために使われるテンプレートファイルは、 .Pa /var/yp/master.passwd であることを仮定しています。このデフォルトは、代わりのファイル名を .Fl t フラグとともに指定することで上書きできます。 .Pp (注意): このフラグとともに指定されたテンプレートファイルが .Pa /etc/master.passwd である場合、 .Nm は NIS のマップに加えてローカルのパスワードデータベースを 再構成するために、自動的に .Xr pwd_mkdb 8 を呼び出します。 .It Fl d Ar domain .Nm サーバは複数のドメインを扱うことができますが、1 つのドメインを デフォルトとして選ばなければなりません。 .Xr domainname 1 コマンドによって設定されたシステムデフォルトのドメイン名を 使おうとします。しかしながら、システムドメイン名が設定されていない場合、 デフォルトドメイン名はコマンドラインで指定しなければなりません。 システムデフォルトドメインが設定されている場合、このオプションはその 定義を上書きします。 .It Fl p Ar path このオプションは、デフォルトの NIS マップデータベースのパスを 上書きするために使われます。コンパイル時に指定されているデフォルトの パスは .Pa /var/yp です。 .It Fl s シェル情報の変更を認めません。 .It Fl f フルネーム ('GECOS') 情報の変更を認めません。 .It Fl a NIS パスワードデータベースへの追加を許可します。NIS マスタサーバ上の スーパユーザは、 .Xr ypchpass 1 コマンドでユーザの .Pa master.passwd マップエントリのどんなフィールドでも、無制限の変更を行うことが 許されています。 .Nm がこのフラグを付けて実行された場合、 .Xr chpass 1 を使用したローカルパスワードデータベース更新にて可能であるのと同様に、 スーパユーザが NIS パスワードマップに新しいレコードを追加することを許可します。 .It Fl m マルチドメインモードを有効にします。 .Xr ypserv 8 は同時にいくつかのドメインを扱うことができますが、ほとんどの .Nm 実装では、1 つの NIS ドメインだけしか扱うことができません。 これは、一般に NIS マスタサーバのシステムデフォルトドメインと同じです。 .Fx の .Nm は、 .Pa yppasswd プロトコルでは .Pa domain 引数をクライアントの要求中に含めることが出来ないという プロトコル固有の制限にもかかわらず、 この問題を解決しようとしています。 マルチドメインモードでは、 .Nm は .Pa /var/yp 下の全ドメインの全パスワードマップを検索し、 与えられた更新要求で指定されたユーザ情報と一致するエントリを見付けます。 (一致したかどうかは、ユーザ名と UID および GID フィールドを調べることで 決定されます。) 一致したエントリとそのドメインはその後更新のために 使われます。 .Pp マルチドメインモードがうまく動くためには、各ドメイン毎に 別々のテンプレートファイルが必要なことに注意してください。 例えば、サーバが 3 つのドメイン .Pa foo , .Pa bar , .Pa baz を提供している時、 3 つの別の master.passwd テンプレートファイル .Pa /var/yp/foo/master.passwd , .Pa /var/yp/bar/master.passwd , .Pa /var/yp/baz/master.passwd が必要です。 .Pa foo がシステムデフォルトドメインであったとすると、そのテンプレートファイル は .Pa /var/yp/foo/master.passwd もしくは .Pa /var/yp/master.passwd のどちらであっても構いません。 サーバは、後のファイルを先に確認し、見付からない場合には先のファイルを 確認します。 .Pp デフォルトでは、マルチドメインモードにはなっていません。 これは、異なったドメインに同じもしくは似ているエントリが存在した場合 に失敗するからです。検索領域に複数のエントリを見付けた場合、 サーバは更新要求を停止します。 したがって、偏執的な管理者はマルチドメインモードを利用不可能にしたいと 思うでしょう。 .It Fl i .Nm がこのフラグ付きで呼び出された場合、マップ更新をその場で行おうとします。 この意味は、 パスワードテンプレートファイルを直接更新してマップ更新する代わりに、 サーバがマップデータベースを直接更新するということです。 これは、パスワードマップが大きい時に有効です。例えば、 パスワードデータベースに 10,000 ものエントリがある場合、マップの更新が 終了するまでに数分かかってしまいます。その場でマップを更新することで、 この時間を数秒までに減らすことができます。 .It Fl v 冗長なログモードに入ります。通常、サーバはエラー状態時や スーパユーザによる NIS マスタサーバ上での更新n時に、 .Xr syslog 3 の能力を使ってメッセージを記録します。サーバが .Fl v オプションを使って実行されている時には、全ての更新に対する 情報メッセージを記録します。 .It Fl u たくさんの商用の .Xr yppasswd 1 クライアントは、 .Nm への要求を送る時に予約ポートを使いません。 これは、 .Xr yppasswd 1 が root に set-uid されずにインストールされているか、 RPC の実装が スーパユーザのためにクライアント接続が確立されたとき、 予約ポートを割り当てることをしないようになっているためです。 デフォルトでは、 .Nm は、クライアントからの結果を予約ポートを使って受け取ることを期待します。 非特権ポートから受け取った要求は、排除されます。不幸にして、この振舞いは 特権ポートを使えないクライアントシステムからのパスワード更新要求を妨げます。 .Fl u フラグを指定することで、 .Nm は、特権ポートを使えない .Xr yppasswd 1 でも働くように、特権ポートのチェックを無効にします。 これは、少しセキュリティを低下させますが、クライアントの振舞いを 変更できない場合には必要になるでしょう。 .It Fl h .Nm が理解できるフラグやオプションのリストを表示します。 .El .Sh 関連ファイル .Bl -tag -width Pa -compact .It Pa /usr/libexec/yppwupdate NIS マップを更新し、その後でプッシュするために、 .Nm によって呼び出されるスクリプトです。 .It Pa /var/yp/master.passwd デフォルトドメインのためのテンプレートパスワードファイルです。 .It Pa /var/yp/[domainname]/[maps] 特定の NIS ドメインのための NIS マップです。 .It Pa /var/yp/[domainname]/master.passwd デフォルトでないドメインのための一時パスワードファイルです (マルチドメインモードだけで使われます)。 .El .Sh 関連項目 .Xr yp 4 , .Xr yppush 8 , .Xr ypserv 8 , .Xr ypxfr 8 .Sh バグ yppasswd.x プロトコル定義で記述されているように、 YPPASSWDPROC_UPDATE 手続きは 2 つの引数を取ります。 更新するユーザ情報を含む V7 形式のパスワード構造および、 ユーザの暗号化されない (クリアテキスト) パスワードです。 .Nm はリモートの NIS クライアントマシンからの更新要求を扱うことを 仮定しています。これは、 .Xr yppasswd 1 や似たようなクライアントプログラムがネットワークを通して、 ユーザのクリアテキストパスワードを転送するということを意味します。 .Pp これはパスワード更新では問題ではありません。 なぜなら、更新と共に送られるプレインテキストパスワードは、 新しい暗号化されたパスワードが有効になった時には無効になっているからです。 しかし、ユーザが自分の 'GECOS' 情報やシェルを更新する場合には、 更新と共に送られるクリアテキストパスワードは、 更新完了時にも有効です。 ネットワークがセキュアでない場合、このクリアテキストパスワードは、 途中でとらえられ、 そのユーザアカウントに対する不正アクセスに使用されるかも知れません。 .Sh 作者 .An Bill Paul Aq wpaul@ctr.columbia.edu