RPC.YPPASSWDD(8) | RPC.YPPASSWDD(8) |
rpc.yppasswdd - NIS パスワード更新デーモン
rpc.yppasswdd [-D directory] [-e chsh|chfn] [--port number]
rpc.yppasswdd [-s shadow] [-p passwd] [-e chsh|chfn] [--port number]
rpc.yppasswdd -x program|-E program [-e chsh|chfn] [--port number]
rpc.yppasswdd は RPC のサーバーで、 NIS (YP) 環境下でユーザーによるパスワード変更を可能にする。 必ず NIS ドメインの NIS マスターサーバーで起動する。
yppasswd(1) クライアントはサーバーに接続すると、 古いユーザーパスワードと新しいパスワードを送信する。 rpc.yppasswdd はシステムの passwd ファイルからそのユーザーの名前を探し、古いパスワードがマッチしているか どうかを確認し、エントリを更新する。 指定されたユーザーが存在しなかったり、 パスワード, UID, GID のいずれかが パスワードファイルの情報とマッチしなかった場合には、 更新要求は拒否され、 クライアントにエラーが返される。
このサーバーは、コンパイルの時に CHECKROOT=1 オプションを指定すると、 システムの root のパスワードに対しても、パスワードチェックを行うようになる。
passwd ファイルの更新とクライアントへの成功通知がすむと、 rpc.yppasswdd は pwupdate スクリプトを実行して、 NIS サーバーの passwd.* マップと shadow.byname マップを更新する。 このスクリプトでは、すべての NIS マップが /var/yp/nisdomain ディレクトリ以下に保存されており、 その NIS ドメイン向けにカスタマイズされた Makefile もそこに置かれていることを仮定している。 そのような Makefile がない場合には、スクリプトは /var/yp にあるジェネリックな Makefile を用いる。
以下のオプションが指定できる。
shwdow パスワードを NIS と共に用いてもあまり意味がない。 なぜなら本来アクセス不可能であるべきパスワードが、単に ypcat(1) を実行すれば NIS では読めてしまうからである。
rpc.yppasswdd における shadow のサポートは、この問題を賢く解決する方法を提供する わけではない。単にパスワードエントリをシステムの shadow ファイルから読めるようにする、というだけのことである。 これを用いるには、 shadow.byname という NIS マップを作って、 NIS クライアントにパスワード情報を 知らせる必要がある。 rpc.yppasswdd はまず /etc/passwd ファイルからユーザーのパスワードを検索する。ユーザーが見つかり、 かつパスワードが "x" で、さらに /etc/shadow ファイルが存在していた場合は、 shadow マップの パスワードが更新される。
プログラムは標準入力から一行を読むようにする。フォーマットは以下の通り。
<username> o:<oldpass> p:<password> s:<shell> g:<gcos>\n
[p, s, g] の 3 つのフィールドは、いずれもあってもなくてもかまわない。
このプログラムは、操作が成功したら標準出力に "OK\n" を返すようにする。 それ以外の場合は、 rpc.yppasswdd はクライアントに失敗したと報告する。
-x オプションで指定したプログラムは NIS の make とビルドを行わねばならず、 また与えられたシェルと gecos フィールドの情報が正当なものかのチェックも このプログラムの役割である。クライアントに与えられるパスワードは UNIX crypt() フォーマットになる。
rpc.yppasswdd はすべてのパスワード更新要求を syslogd(8) の auth facility を通して記録する。ログ情報は要求元ホストの IP アドレスと、 その要求に含まれていたユーザー名および UID である。 ユーザーによって与えられたパスワードそのものは記録されない。
作者が完全に問題を解決するまでは、 rpc.yppasswdd はシンプルなパスワード認証に依存するプログラムと同程度のセキュリティ しか持たない (バージョン 0.5 以前では良かったのだが)。 これが充分でないと思う場合は、新しい portmap(8) バージョン 3 の `securenets' 機能を用いて、 rpc.yppasswdd をアクセス外に置くことをすすめる。あるいは Kerberos を使えば さらに良いかも知れない。 rpc.yppasswdd を
rpc.yppasswdd is copyright (C) Olaf Kirch. You can use and distribute it under the GNU General Public License Version 2. Note that it does not contain any code from the shadow password suite.
/usr/sbin/rpc.yppasswdd
/usr/lib/yp/pwupdate
/etc/passwd
/etc/shadow
passwd(5), shadow(5), passwd(1), yppasswd(1), ypchsh(1), ypchfn(1), ypserv(8), ypcat(1)
Network Information Service (NIS) は、以前は Sun Yellow Pages (YP). と呼ばれていた。 この両者の機能はまったく同じものであり、名前が違うだけである。 Yellow Pages という名前は、英国で British Telecommunications plc の登録商標となっており、 許可を得ずに用いることはできない。
Olaf Kirch, <okir@monad.swb.de>
Thorsten Kukuk, <kukuk@suse.de>
August 2001 | YP Server |