名前 | 形式 | 機能説明 | オプション | オペランド | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項
passwd [-r files | -r ldap | -r nis | -r nisplus] [name]
passwd [-r files] [-egh] [name]
passwd [-r files] -s [-a]
passwd [-r files] -s [name]
passwd [-r files] [-d | -l | -u | -N] [-f] [-n min] [-w warn] [-x max] name
passwd -r ldap [-egh] [name]
passwd -r nis [-egh] [name]
passwd -r nisplus [-egh] [-D domainname] [name]
passwd -r nisplus -s [-a]
passwd -r nisplus [-D domainname] -s [name]
passwd -r nisplus [-l | -u | -N] [-f] [-n min] [-w warn] [-x max] [-D domainname] name
passwd コマンドは、パスワードを変更したり、あるいはユーザーのログイン name に関連するパスワードの属性を表示したりします。さらに特権ユーザーは passwd を使用して、すべてのログイン name に関連するパスワードおよび属性を登録もしくは変更できます。
パスワードを変更する場合、passwd は、古いパスワードがあれば、それを入力するよう要求します。次に、新しいパスワードを 2 回入力するように 要求します。古いパスワードを入力すると、passwd は、そのパスワードが十分に 「時間経過」しているかをチェックします。「時間経過」が不十分である場合は、passwd は終了します。詳細は pwconv(1M) 、nistbladm(1) 、および shadow(4) を参照してください。
pwconv コマンドは、/etc/passwd からの情報をもとに /etc/shadow を作成し、更新します。pwconv は、/etc/passwd の パスワードのフィールドで 'x' という特殊な値を探します。この 'x' という値は、ユーザー用のパスワードがすでに /etc/shadow にあり、修正すべきではないということを表します。
時間経過が十分である場合、新しいパスワードの構造が要求に合うかどうか チェックが行われます。新しいパスワードを 2 回入力した時点で、2 つの新しいパスワードが比較されます。2 つのパスワードが同じでない場合は、新しいパスワードに対して、最大 2 回までプロンプトが繰り返されます。
パスワードは、次の要求に合うように作らなければなりません。
各パスワードは、PASSLENGTH 文字以上でなければなりません。PASSLENGTH は、/etc/default/passwd に定義され、6 に設定されています。PASSLENGTH を 8 文字より多く設定するには、8 文字より多くの文字をサポートするアルゴリズムを policy.conf(4) に構成する必要があります。
各パスワードは、/etc/default/passwd に指定されている複雑さの制約を満たす必要があります。
各パスワードは、/etc/default/passwd に指定されている構成済み辞書のメンバーと同じであってはありません。
パスワード履歴チェックをサポートしているネームサービス用のアカウントで旧パスワード履歴が定義されている場合、新しいパスワードは、旧パスワード履歴に含まれるものであってはなりません。
上記の条件がすべて満たされた場合、デフォルトでは passwd コマンドは /etc/nsswitch.conf を参照してパスワード更新を実行すべきレポジトリ (記録場所) を決めます。具体的には passwd と passwd_compat の両エントリを検索します。これらのエントリに対応したリソースつまりレポジトリが更新されます。ただし、サポートされるパスワード更新設定は、次の場合に制限されます。いずれの形式にも合っていない場合はシステムにログインできません。使用可能なパスワード更新定義形式は次のとおりです。
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 エントリ内のほかに、いずれかのネームサービス内に格納されている場合、passwd コマンドはその両方を更新します。ネームサービス内のパスワードとローカル files エントリ内のパスワードは異なっている可能性があります。特定のパスワードリポジトリを変更するには、passwd -r を使用してください。
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 のパスワードステータス。
status フィールドは次の値をとることができます。
パスワードがあることを表します。
このアカウントはログインアカウントではありません。「セキュリティー」を参照してください。
アカウントがロックされていることを表します。「セキュリティー」を参照してください。
パスワードがないため、非認証でアクセス可能であることを表します。
name のパスワードが最近変更された日付(すべてのパスワードの日付は、グリニッジ標準時 (ユニバーサル時間) を使用して決定されます。したがって、時差があるところでは最大 1 日ずれることがあるので注意してください) 。
name に対するパスワード変更に最低限必要な日数。MINWEEKS は /etc/default/passwd にあり、NULL に設定されています。
パスワードが name に対して有効である最大日数。MAXWEEKS は /etc/default/passwd にあり、NULL に設定されています。
パスワードの有効期限切れが近いことを示す警告を name が受ける日を、max に相対的な日数で表す。
サポートしているオプションは、次のとおりです。
すべてのエントリのパスワードの属性を表示します。-s オプションとともにのみ使用し、name を指定してはいけません。レポジトリが nisplus の場合、本コマンドを発行したユーザーが 読み取りを許されているローカルドメイン中の NIS+ パスワードテーブルにあるエントリだけが表示されます。files の場合には、この指定はスーパーユーザーだけが使用できます。
domainname が示すドメイン中にある passwd.org_dir を参照することを指定します。このオプションを省略すると、nis_local_directory(3NSL) が返すドメイン名が使用されます。このドメイン名は domainname(1M) が返すものと同一です。
ログインシェルを変更します。レポジトリが files の場合、スーパーユーザーだけが使用できます。通常のユーザーはレポジトリが ldap、nis または、nisplus の場合に変更できます。シェルの選択は、getusershell(3C) によって制限されています。ユーザーが現在 getusershell によって許可されていないシェルを保持している場合、スーパーユーザーだけがそれを変更できます。
gecos (finger) 情報を変更します。レポジトリが files の場合、スーパーユーザーだけが使用できます。通常のユーザーはレポジトリが ldap、nis または、nisplus の場合に変更できます。
ホームディレクトリを変更します。
処理の対象とするレポジトリ (記録場所) を指定します。files 、ldap、nis 、nisplus のいずれかを指定できます。
name が示すログイン名用のパスワード属性を表示します。レポジトリが nisplus の場合、この指定はすべてのユーザーが使用できます。files の場合には、スーパーユーザーだけが使用できます。また nis の場合には、パスワードの有効期限を設定する (エージング) 機能がサポートされていないので、この指定はどのユーザーも使用できません。
特権ユーザーのみが、次のオプションを使用することができます。
name に対するパスワードを削除します。ログイン name に対するパスワードを入力するように要求することはありません。この指定は、レポジトリが files の場合にのみ有効です。
name のパスワードの期限を切ることによって、次のログインセッションで パスワードを強制的にユーザーに変更させます。
name に対するパスワードエントリをロックします。アカウントのロックを解除する方法については、-d オプション、または -u オプションを参照してください。
name に対するパスワードエントリを、ログインで使用できないが、アカウントをロックしない値にします。この値を削除したり、ログインできるようにパスワードを設定したりする方法については、-d オプションを参照してください。
name の最小のフィールドを設定します。min フィールドには、name に対するパスワードを変更するために最低限必要な日数が設定されます。min が max より大きい場合は、ユーザーはパスワードを変更できません。このオプションは、必ず -x オプションとともに使用してください。ただし、max が –1 に設定されている場合は例外です (最低経過日数を設定する機能がオフ)。この場合は、min を設定する必要はありません。
エントリ名に対してロックされたパスワードをロック解除します。ロックされたパスワードを削除したり、ログインできるようにパスワードを設定したりする方法については、-d オプションを参照してください。
name の警告フィールドを設定します。warn フィールドには、パスワードの有効期限が切れる何日前に、期限切れ近いことを示す警告をユーザーが受けるか、その日数が設定されます。このオプションは、パスワードの有効期限が切れている場合は 無効です。
name の最大のフィールドを設定します。max フィールドには、パスワードが name に対して有効である最大の日数が設定されます。max が –1 に設定された場合は、name の有効期限を設定する機能はただちにオフになります。
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 は、処理終了時に次のいずれかの値を返します。
成功。
アクセス権が与えられていません。
オプションの組み合わせが無効です。
予想できない失敗。パスワードファイルは変更されません。
予想できない失敗。パスワードファイルがありません。
パスワードファイルは使用中です。あとで行なってください。
オプションに対する引数が無効です。
有効期限のオプションが無効です。
メモリーがありません。
システムエラー。
アカウントが期限切れです。
デフォルト値は /etc/default/passwd 中の次のフラグで設定することができます。次に例を示します。MAXWEEKS=26
生成された辞書データベースが格納されるディレクトリ。デフォルトは /var/passwd。
DICTIONLIST と DICTIONDBDIR のどちらも指定しない場合、辞書チェックは実行されません。
コンマ区切りの辞書ファイルのリスト。たとえば、DICTIONLIST=file1, file2, file3。各辞書ファイルは複数行から構成され、各行は単語と NEWLINE 文字から構成されます (/usr/share/lib/dict/words に似ている)。各辞書ファイルには、フルパス名を指定する必要があります。これらのファイルの単語は 1 つのデータベースにマージされ、パスワードが辞書の単語に基づいているかどうかを判断します。
DICTIONLIST と DICTIONDBDIR のどちらも指定しない場合、辞書チェックは実行されません。
辞書データベースを事前構築する方法については、mkpwdict(1M) を参照してください。
ユーザーごとに保存しておく旧パスワード履歴の最大数。HISTORY 値をゼロ (0) に設定するか、HISTORY フラグを削除した場合、任意のユーザーが次回パスワードを変更するときに、すべてのユーザーの旧パスワード履歴が破棄されます。デフォルトでは、HISTORY フラグを定義しません。最大値は 26 です。現在のところ、この機能は「files」ネームサービス (ローカルの passwd(4) または shadow(4)) で定義されたユーザーアカウントにのみ実施されます。
同じ文字を続けることができる最大数を定義します。MAXREPEATS を設定しないか、ゼロ (0) に設定した場合、デフォルトでは、このチェックは実行されません。
パスワードが有効な最大期間
パスワードに必要な英字の最小数。MINALPHA を設定しない場合、デフォルトは 2 です。
古いパスワードと新しいパスワードで異なる必要がある文字の最小数。MINDIFF を設定しない場合、デフォルトは 3 です。
パスワードに必要な数字の最小数。MINDIGIT を設定しないか、ゼロ (0) に設定した場合、デフォルトでは、このチェックは実行されません。MINNONALPHA を指定した場合、MINDIGIT は指定できません。
パスワードに必要な英小文字の最小数。MINLOWER を設定しないか、ゼロ (0) に設定した場合、デフォルトでは、このチェックは実行されません。
パスワードに必要な英字以外の文字 (数字または特殊文字) の最小数。MINNONALPHA を設定しない場合、デフォルトは 1 です。MINDIGITまたは MINSPECIAL を指定した場合、MINNONALPHA は指定できません。
パスワード変更に最低限必要な期間
パスワードに必要な特殊文字 (英字と数字以外の文字) の最小数。MINSPECIAL を設定しないか、ゼロ (0) に指定した場合、デフォルトでは、このチェックは実行されません。MINNONALPHA を指定した場合、MINSPECIAL は指定できません。
パスワードに必要な英大文字の最小数。MINUPPER を設定しないか、ゼロ (0) に設定した場合、デフォルトでは、このチェックは実行されません。
ログイン名のチェックを有効または無効にします。デフォルトでは、ログイン名チェックは実行されます。NAMECHECK を no (大文字小文字の区別なし) に設定した場合、このチェックは実行されません。
パスワードに最低限必要な文字数
パスワードの有効期間が切れる前の警告期間
パスワードに空白文字を使用できるかどうかを指定します。指定できる値は、YES と NO です。WHITESPACE を設定しないか、YES に設定した場合、空白文字は使用できます。
passwd、passmgmt、および pwconv が実際のシャドウファイルを更新するときに使用する一時ファイル。
パスワードファイル。
シャドウパスワードファイル。
シェルデータベース。
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWcsu |
CSI |
対応済み |
インタフェースの安定性 |
下記を参照 |
人間が読める形式の出力のインタフェースは不安定 (Unstable) です。オプションは開発中です。
at(1), batch(1), finger(1), login(1), nistbladm(1), cron(1M), domainname(1M), eeprom(1M), id(1M), mkpwdict(1M), passmgmt(1M), pwconv(1M), su(1M), useradd(1M), userdel(1M), usermod(1M), crypt(3C), getpwnam(3C), getspnam(3C), getusershell(3C), nis_local_directory(3NSL), pam(3PAM), loginlog(4), nsswitch.conf(4), pam.conf(4), passwd(4), policy.conf(4), shadow(4), shells(4), attributes(5), environ(5), pam_authtok_check(5), pam_authtok_get(5), pam_authtok_store(5), pam_dhkeys(5), pam_ldap(5), pam_unix_account(5), pam_unix_auth(5), pam_unix_session(5)
pam-unix モジュールは、将来のリリースではサポートされなくなる可能性があります。同様の機能は、pam_unix_account(5), pam_unix_auth(5), pam_unix_session(5), pam_authtok_check(5), pam_authtok_get(5), pam_authtok_store(5), pam_dhkeys(5)、および pam_passwd_auth(5) で提供されています。
nispasswd および ypasswd コマンドは、passwd のラッパーです。nispasswd および ypasswd の代わりに、passwd -r repository_name を使用することをお勧めします。
NIS+ は、Solaris オペレーティングシステムの将来のリリースではサポートされなくなる可能性があります。現在の Solaris リリースには、NIS+ から LDAP への移行ツールが用意されています。詳細については、http://www.sun.com/directory/nisplus/transition.html を参照してください。
files リポジトリでパスワードを変更すると、失敗したログイン数はクリアされます。
入力端末処理は、キーシーケンスの一部を解釈し、その部分の情報を passwd コマンドに渡さない可能性があります。
名前 | 形式 | 機能説明 | オプション | オペランド | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項