PASSWD(1)

名称
passwd, yppasswd - ユーザのパスワードを変更する

書式
passwd [-l] [user] yppasswd [-l] [-y] [-d domain] [-h host] [-o]

解説
passwd ユーティリティは、ユーザの local, Kerberos, NIS パスワードを変更します。 ユーザがスーパユーザでない場合、 passwd は最初に現在のパスワードを求め、 正しいパスワードが入力されない場合には処理を停止します。

新規パスワード入力時、パスワードは表示されません。 通りがかりの人にパスワードを見られることを避けるためです。 passwd ユーティリティは、タイプミスを検出するため、2 度新規パスワード入力を求めます。

新しいパスワードは、少なくとも 6 文字以上 (ユーザのログインクラスに対する login.conf(5) の “minpasswordlen” 設定が優先します) で、アルファベットだけにならな いようにすべきです。パスワードの最大文字数は、 _PASSWORD_LEN (現在は 128 文字) より短いことが必要です。

新規パスワードは大文字と小文字を混合して含む必要があります (ユーザのログインクラスに対して login.conf(5) の “mixpasswordcase” の設定を使用することで、上書き可能です)。 小文字だけのパスワードのみ許可可能な場合に、 小文字パスワードを許すと有用でしょう。 例えば Windows クライアントを認証するために Samba を使用する場合が、 該当します。 他のすべての場合、数字、大文字、メタ文字が推奨されます。

新しいパスワードが確認されたら passwd は新しいパスワードを Kerberos 認証ホストに伝えます。

次のオプションを使用可能です:

-l  Kerberosデータベースではなく、 ローカルマシンのパスワードだけを変更します。 ローカルマシンのパスワードだけを変更する場合は、 pwd_mkdb(8) がパスワードデータベースの更新に使われます。
ローカルまたは NIS パスワードを変更する場合、 ユーザのログインクラスの “passwordtime” ケーパビリティに基づき、 次にパスワードを変更すべき日付が設定されます。

別のユーザの Kerberos パスワードを変更するには、 kinit(1) を実行してから、 passwd(1) を実行する必要があります。 スーパユーザがローカルマシンのパスワードを修正するときにかぎり、現在の パスワードの入力は不要です。

NIS との相互作用
passwd ユーティリティは NIS のサポートが組み込まれています。 もしユーザ名が NIS のパスワードデータベースの中にあり、 ローカルにはない場合、 passwd は自動的に “yppasswd” に切り替わります。 指定されたユーザ名がローカルのパスワードデータベースにも、 NIS のパスワードマップにも存在しない場合、 passwd はエラーを返します。

NIS のパスワードを変更するとき、非特権ユーザは 確認のために現在のパスワードの入力を求められます ( rpc.yppasswdd(8) デーモンはいかなる変更でも NIS パスワードマップに加える前に 現在のパスワードの入力を求めます)。 この制限はスーパユーザにも適用されますが、大きな例外があります。 NIS マスタサーバのスーパユーザはパスワードの確認が省略されるの です。 したがって、NIS マスタサーバのスーパユーザは、すべてのユーザの NIS パスワードを無制限に変更できます。 しかし、NIS クライアントや NIS スレーブサーバのスーパユーザは 変更にパスワードが必要です。

以下のオプションは NIS のためのものです:

-y  passwd は強制的に NIS 用になります。

-l  NIS が有効な場合に passwd を強制的にローカル用にします。 このフラグは同じログイン名で NIS のユーザと ローカルなユーザが存在するときに、 “ローカルユーザの” パスワードエントリを変更するために使われます。 例えば、システム用の bin や daemon といった “場所取り” エントリは NIS パスワードマップとローカルユーザデータベース の両方に存在することが、よくあります。 この場合デフォルトでは passwd は NIS のパスワードを変更しようとします。 NIS ではなくローカルのパスワードを変更するとき -l を使います。

-d domain
    NIS パスワードを変更するとき、ドメイン名を指定します。デフォルトで passwd は、システムのデフォルトドメイン名を使います。このフラグは主に NIS マスタサーバのスーパユーザが使用するものです。一つの NIS マスタサーバが複数のドメインを扱っている場合や、NIS マスタサーバでは ドメイン名が設定されていない (NIS サーバは必ずしもクライアントになる 必要はありません) 場合に、 passwd コマンドがどのドメインを扱うのかを指定する必要があります。

-h host
    NIS サーバの名前を指定します。このオプションを -d オプションと共に用いることで、非ローカルな NIS サーバ上の NIS パスワードを変えることが出来ます。 -d オプションでドメイン名を指定し、 NIS マスタサーバの名前が決定できな い (おそらく、ローカルのドメイン名が設定されていないため) ときには、 NIS マスタサーバは、 “localhost” であると仮定されます。 このサーバ名を -h で指定することが出来ます。指定するホスト名は NIS マスタサーバ でなくても構いません。 NIS マスタサーバー名はドメイン内の NIS (マスタもしくはスレーブ) サーバに問い合わせることで決定される ので、スレーブサーバを指定しても構いません。

-o  NIS マスタサーバにおいて、スーパユーザの確認を省略しません。 'old' モードにします。このフラグはあまり実用的ではありませんが、 パスワードのテストに使うことが出来ます。

関連ファイル
/etc/master.passwd
    パスワードのマスタファイル
/etc/passwd
    Version 7 形式のパスワードファイル
/etc/passwd.XXXXXX
    パスワード変更時に作られるテンポラリファイル
/etc/login.conf
    ログインクラスケーパビリティデータベース
/etc/auth.conf
    認証サービスの設定

関連項目
chpass(1), kerberos(1), kinit(1), login(1), login.conf(5), passwd(5), kpasswdd(8), pwd_mkdb(8), vipw(8) Robert Morris, Ken Thompson, UNIX password security.

注
yppasswd(1) は実際には passwd へのリンクです。

歴史
passwd コマンドは AT&T UNIX から登場しました。