名前 | 形式 | 機能説明 | オプション | オペランド | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項
passwd コマンドは、パスワードを変更したり、あるいはユーザーのログイン name に関連するパスワードの属性を表示したりします。さらに特権ユーザーは passwd を使用して、すべてのログイン name に関連するパスワードおよび属性を登録もしくは変更できます。
パスワードを変更する場合、passwd は、古いパスワードがあれば、それを入力するよう要求します。次に、新しいパスワードを 2 回入力するように 要求します。古いパスワードを入力すると、passwd は、そのパスワードが十分に 「時間経過」しているかをチェックします。「時間経過」が不十分である場合は、passwd は終了します。詳細は pwconv(1M) 、nistbladm(1) 、および shadow(4) を参照してください。
LDAP、NIS または NIS+ がシステム上で有効である場合、passwd は NIS または NIS+ のデータベースを変更します。NIS または NIS+ のパスワードは、ローカルマシン上のパスワードとは異なる場合があります。NIS または NIS+ が動作している場合には、passwd -r を使用してローカルマシン上のパスワードを変更してください。
pwconv コマンドは、/etc/passwd からの情報をもとに /etc/shadow を作成し、更新します。pwconv は、/etc/passwd の パスワードのフィールドで 'x' という特殊な値を探します。この 'x' という値は、ユーザー用のパスワードがすでに /etc/shadow にあり、修正すべきではないということを表します。
時間経過が十分である場合、新しいパスワードの構造が要求に合うかどうか チェックが行われます。新しいパスワードを 2 回入力した時点で、2 つの新しいパスワードが比較されます。2 つのパスワードが同じでない場合は、新しいパスワードに対して、最大 2 回までプロンプトが繰り返されます。
パスワードは、以下の要求に合うように作らなければなりません。
各パスワードは、PASSLENGTH 文字でなければなりません。PASSLENGTH は、/etc/default/passwd に定義され、6 に設定されています。最初の 8 文字のみが意味を持ちます。
各パスワードには、2 つ以上の英字および 1 つの以上の数字もしくは特殊文字がなければなりません。この場合の「英字」は、すべての大文字または小文字を意味します。
各パスワードは、ユーザーのログイン name と異なっていなければならず、そのログイン name を反転したりずらしたものでもいけません。比較においては、大文字およびそれに対応する 小文字は同じものとして扱われます。
新しいパスワードは、古いパスワードと 3 文字以上違わなくてはなりません。比較においては、大文字およびそれに対応する小文字は同じものとして扱われます。
上記の条件がすべて満たされた場合、デフォルトでは passwd コマンドは /etc/nsswitch.conf を参照してパスワード更新を実行すべきレポジトリ (記録場所) を決めます。具体的には passwd と passwd_compat の両エントリを検索します。これらのエントリに対応したリソースつまりレポジトリが更新されます。なお、使用可能なパスワード更新定義形式は、以下に示す形式に限定されています。いずれの形式にも合っていない場合、passwd(1) が異常終了するのでシステムにログインできません。
passwd: files
passwd: files ldap
passwd: files nis
passwd: files nisplus
passwd: compat (==> files nis)
passwd: compat (==> files ldap)
passwd_compat: ldap
passwd: compat (==> files nisplus)
passwd_compat: nisplus
NIS+ パスワードテーブルを所有するネットワーク管理者は、パスワードのどの属性をも変更できます。
files の場合、スーパーユーザー (たとえば、実ユーザー ID や実効ユーザー ID が 0 であるユーザー。id(1M) および su(1M) を参照) は、どのパスワードも変更することができます。したがって、passwd は、特権ユーザーに古いパスワードを入力するよう要求しません。特権ユーザーは、パスワードの有効期限の設定やパスワード構造の要求などの制限も受けません。特権ユーザーは、新しいパスワードの要求に答えてキャリッジリターンを入力するだけで NULL パスワードを作成することができます (これは、passwd –d とは異なります。「password」プロンプトが表示され続けるからです)。NIS が有効である場合、ルートマスター上のスーパーユーザーは、古い NIS パスワードの入力を要求されずにどのパスワードも変更でき、パスワードの構成要件にはなりません。
通常、引数なしで入力された passwd は現在のユーザーのパスワードを変更します。ユーザーがログインし、su(1M) を呼び出してスーパーユーザーまたは別のユーザーになるとき、passwd はスーパーユーザーや新しいユーザーのパスワードではなく、元のユーザーのパスワードを変更します。
-s オプションを使用すれば、すべてのユーザーは、自分自身のログイン name のパスワードの属性を表示することができます。ただしこれは -r nisplus 引数を使っている場合に限ります。そうでない場合には、-s オプションはスーパーユーザーだけしか使用できません。
表示の書式は、次のようになります。
name status mm/dd/yy min max warn
パスワードの有効期限の情報が存在しない場合は、次のようになります。
name status
各情報の意味は以下のとおりです。
ユーザーのログイン ID
name のパスワードステータス。PS は、パスワードされた状態またはロックされた状態を表し、LK は、ロックされ た状態を表し、NP は、パスワードがないことを表します。
name のパスワードが最近変更された日付 (すべてのパスワードの日付は、グリニッジ標準時 (ユニバーサル時間) を使用して決定されます。したがって、時差があるところでは最大 1 日ずれることがあるので注意してください) 。
name に対するパスワード変更に最低限必要な日数。MINWEEKS は、/etc/default/passwd にあり、NULL に設定されています。
パスワードが name に対して有効である最大日数。MAXWEEKS は、/etc/default/passwd にあり、NULL に設定されています。
パスワードの有効期限切れが近いことを示す警告を name が受ける日を、max に相対的な日数で表す。
passwd は pam(3PAM) を使って、パスワード管理を行います。PAM 構成ポリシーは passwd で使用するモジュールを明記しています。このポリシーは /etc/pam.conf で見ることができます。以下に UNIX パスワード管理モジュールを使用する passwd コマンドのエントリの入った pam.conf ファイルの抜粋を示します。
passwd required password /usr/lib/security/pam_unix.so.1
以下のオプションを指定できます。
処理の対象とするレポジトリ (記録場所) を指定します。files 、ldap、nis 、nisplus のいずれかを指定できます。
ログインシェルを変更します。レポジトリが files の場合、スーパーユーザーだけが使用できます。通常のユーザーはレポジトリが ldap、 nis または、nispluse の場合に変更できます。シェルの選択は、getusershell(3C) によって制限されています。ユーザーが現在 getusershell によって許可されていないシェルを保持している場合、スーパーユーザーだけがそれを変更できます。
gecos (finger) 情報を変更します。レポジトリが files の場合、スーパーユーザーだけが使用できます。通常のユーザーはレポジトリが ldap、 nis または、 nispluse の場合に変更できます。
ホームディレクトリを変更します。
domainname が示すドメイン中にある passwd.org_dir を参照することを指定します。このオプションを省略すると、nis_local_directory(3NSL) が返すドメイン名が使用されます。このドメイン名は domainname(1M) が返すものと同一です。
name が示すログイン名用のパスワード属性を表示します。レポジトリが nisplus の場合、この指定はすべてのユーザーが使用できます。files の場合には、スーパーユーザーだけが使用できます。また nis の場合には、パスワードの有効期限を設定する (エージング) 機能がサポートされていないので、この指定はどのユーザーも使用できません。
すべてのエントリのパスワードの属性を表示します。-s オプションとともにのみ使用し、name を指定してはいけません。レポジトリが nisplus の場合、本コマンドを発行したユーザーが 読み取りを許されているローカルドメイン中の NIS+ パスワードテーブルにあるエントリだけが表示されます。files の場合には、この指定はスーパーユーザーだけが使用できます。
特権ユーザーのみが、次のオプションを使用することができます。
name のパスワードの期限を切ることによって、次のログインセッションで パスワードを強制的にユーザーに変更させます。
name に対するパスワードエントリをロックします。
name の最小のフィールドを設定します。min フィールドには、name に対するパスワードを変更するために最低限必要な日数が設定されます。min が max より大きい場合は、ユーザーはパスワードを変更できません。このオプションは、必ず -x オプションとともに使用してください。ただし、max が –1 に設定されている場合は例外です (最低経過日数を設定する機能がオフ)。この場合は、min を設定する必要はありません。
name の警告フィールドを設定します。warn フィールドには、パスワードの有効期限が切れる何日前に、期限切れ近いことを示す警告をユーザーが受けるか、その日数が設定されます。このオプションは、パスワードの有効期限が切れている場合は 無効です。
name の最大のフィールドを設定します。max フィールドには、パスワードが name に対して有効である最大の日数が設定されます。max が –1 に設定された場合は、name の有効期限を設定する機能はただちにオフになります。max が 0 に設定された場合は、ユーザーは次のログインセッションで パスワードを強制的に変更させられ、有効期限を設定する機能はオフになります。
name に対するパスワードを削除します。ログイン name に対するパスワードを入力するように要求することはありません。この指定は、レポジトリが files の場合にのみ有効です。
LC_* 変数 (LC_CTYPE、 LC_MESSAGES、 LC_TIME、 LC_COLLATE、 LC_NUMERIC、 LC_MONETARY) (environ(5) 参照) のいずれも環境に設定されていなければ、それぞれ対応する ロケール のカテゴリにおける passwd の動作は、環境変数 LANG によって決定されます。もし、LC_ALL が設定されていれば、その内容が LANG 変数やその他の LC_* 変数より優先されます。上記の変数が環境にまったく設定されていなければ、C ロケール (米国スタイル)が passwd の動作を決定します。
passwd の文字の処理方法を決定します。LC_CTYPE に有効な値が設定されていると、passwd は、その ロケール にあった文字を含むテキストやファイル名を表示および処理できます。passwd は拡張 Unix コード(EUC)も表示および処理できます。この場合、文字は 1 バイト幅、2 バイト幅、3 バイト幅のいずれも使用できます。また、passwd は 1、2、またはそれ以上のカラム幅の EUC 文字も処理することができます。C ロケール においては、ISO 8859-1 の文字だけが有効です。
診断メッセージや情報メッセージの表示方法を決定します。また、メッセージの言語とスタイル、そして肯定応答および否定応答の正しい形も決定します。C ロケールにおいては、メッセージはプログラム自身が使用しているデフォルトの形で表示されます(通常、米語)。
passwd は、処理終了時に以下のいずれかの値を返します。
正常終了
アクセス権が与えられていません
オプションの組み合わせが無効です
予想できない失敗。パスワードファイルは変更されません
予想できない失敗。パスワードファイルがありません
パスワードファイルは使用中です。後で行なってください
オプションに対する引数が無効です
有効期限のオプションが無効です
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
使用条件 | SUNWcsu |
CSI | 対応済み |
finger(1), login(1), nispasswd(1), nistbladm(1), yppasswd(1), domainname(1M), eeprom(1M), id(1M), passmgmt(1M), pwconv(1M), su(1M), useradd(1M), userdel(1M), usermod(1M), pam(3PAM), crypt(3C), getpwnam(3C), getspnam(3C), getusershell(3C), nis_local_directory(3NSL), loginlog(4), nsswitch.conf(4), pam.conf(4), passwd(4), shadow(4), attributes(5), environ(5), pam_unix(5) ,pam_ldap(5)
passwd コマンドは、nispasswd コマンドと yppasswd コマンドに代わるものとして提供されています。この 2 つのコマンドではなく passwd コマンドの方を使用するようにしてください。
名前 | 形式 | 機能説明 | オプション | オペランド | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項