ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- ログインパスワードおよびパスワード属性の変更
passwd [-r files | -r ldap | -r nis] [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 ldap ] -s [-a]
passwd [-r ldap ] -s [name]
passwd -r ldap [-d | -l | -u | -N] [-f] [-n min] [-w warn] [-x max] name
passwd -r nis [-egh] [name]
passwd コマンドは、パスワードを変更したり、あるいはユーザーのログイン name に関連するパスワードの属性を表示したりします。さらに、承認されたユーザーは passwd を使用して、すべてのログイン name に関連するパスワードおよび属性を登録もしくは変更できます。
パスワードを変更する場合、passwd は、古いパスワードがあれば、それを入力するよう要求します。次に、新しいパスワードを 2 回入力するように要求します。古いパスワードを入力すると、passwd は、そのパスワードが十分に時間経過しているかをチェックします。時間経過が不十分である場合、passwd は終了します。詳細は、pwconv(1M) および 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: compat (==> files nis)
passwd: compat (==> files ldap)
passwd_compat: ldap
ad キーワードを上記のリストの passwd 構成のいずれかに追加できます。ただし、Active Directory (AD) ユーザーのパスワードを変更するときは、passwd コマンドを使用できません。パスワードの更新操作中に ad キーワードが passwd エントリで見つかった場合は、無視されます。AD ユーザーのパスワードを更新するには、kpasswd(1) コマンドを使用します。
パスワードテーブルを所有するネットワーク管理者は、パスワードのどの属性をも変更できます。また、LDAP シャドー情報を更新するために構成された管理者も、任意のパスワード属性を変更できます。ldapclient(1M) を参照してください。
ユーザーのパスワードが、ローカル files エントリ内のほかに、いずれかのネームサービス内に格納されている場合、passwd コマンドはその両方を更新します。ネームサービス内のパスワードとローカル files エントリ内のパスワードは異なっている可能性があります。特定のパスワードリポジトリを変更するには、passwd -r を使用してください。
passwd は、承認されたユーザーに古いパスワードを入力するよう要求しません。
LDAP が有効になっている場合、ネイティブ LDAP クライアントシステム上の承認されたユーザーは、古い LDAP パスワードを要求されずにパスワードを変更できます。
デフォルトでは、ほかのユーザーのパスワードを変更することを承認されているユーザーでも、構成済みパスワードポリシーに従う必要があります。pam_authtok_check(5) を参照してください。
通常、引数なしで入力された passwd は現在のユーザーのパスワードを変更します。ユーザーがログインしたあとに、役割または別のユーザーになるために su(1M) を呼び出した場合、passwd は、役割または新しいユーザーのパスワードではなく、元のユーザーのパスワードを変更します。
-s 引数は、承認されたユーザーに制限されます。
表示の書式は、次のようになります。
name status mm/dd/yy min max warn
パスワードの有効期限の情報が存在しない場合は、次のようになります。
name status
各情報の意味は次のとおりです。
ユーザーのログイン ID。
name のパスワードステータス。
status フィールドは次の値をとることができます。
このアカウントがロックされていることを表します。「セキュリティー」を参照してください。
このアカウントではログインできないことを表します。「セキュリティー」を参照してください。
パスワードがないため、非認証でアクセス可能であることを表します。
パスワードがあることを表します。
パスワードフィールドのデータが不明です。認識可能なハッシュパスワードや上記のエントリのどちらでもありません。有効なパスワードハッシュについては、crypt(3C) を参照してください。
このアカウントはまだ管理者によって有効化されていないため、使用できません。「セキュリティー」を参照してください。
name のパスワードが最近変更された日付(すべてのパスワードの日付は、グリニッジ標準時(ユニバーサル時間) を使用して決定されます。したがって、時差があるところでは最大 1 日ずれることがあるので注意してください) 。
name に対するパスワード変更に最低限必要な日数。MINWEEKS は /etc/default/passwd にあり、NULL に設定されています。
パスワードが name に対して有効である最大日数。MAXWEEKS は /etc/default/passwd にあり、NULL に設定されています。
パスワードの有効期限切れが近いことを示す警告を name が受ける日を、max に相対的な日数で表します。
パスワードを変更するとき、passwd は pam(3PAM) を使用します。PAM を呼び出すとき、passwd は passwd というサービス名を使用し、パスワードを変更するための認証とパスワードとして auth というサービスモジュールタイプを使用します。
アカウントのロック (-l オプション) を使用すると、パスワードに基づくログインの使用と遅延実行 (at(1)、batch(1)、cron(1M) など) を禁止します。-N オプションを使用すると、パスワードに基づくログインを禁止しますが、遅延実行は許可します。
ロックされてパスワードがないアカウントやログインできないアカウントでは、ステータスをアクティブなパスワードに直接変更できません。 -d を参照してください。ロックされる前にパスワードを持っていた、ロックされたアカウントでパスワードを変更すると、アカウントをロック解除せずにパスワードが変更されます。アカウントのロック解除については、-u を参照してください。承認された管理者は、アカウントにパスワードを付与することによって、有効化されていない状態でアカウントを有効化できます。
次のオプションがサポートされています。
すべてのエントリのパスワードの属性を表示します。-s オプションとともにのみ使用し、name を指定してはいけません。files および ldap リポジトリの場合、承認されたユーザーに制限されます。
ログインシェルを変更します。通常のユーザーは自分のシェル情報を変更でき、承認されたユーザーはすべてのユーザーの情報を変更できます。シェルの選択は、getusershell(3C) によって制限されています。ユーザーが現在 getusershell によって許可されていないシェルを保持している場合、承認されたユーザーはシェルを変更できます。
gecos (finger) 情報を変更します。通常のユーザーは自分の gecos 情報を変更でき、承認されたユーザーはすべてのユーザーの情報を変更できます。
ホームディレクトリを変更します。
処理の対象とするレポジトリ (記録場所) を指定します。サポートされているリポジトリは、files、ldap、または nis です。
name が示すログイン名用のパスワード属性を表示します。file および ldap リポジトリの場合、これは承認されたユーザーに対してのみ機能します。また nis の場合には、パスワードの有効期限を設定する (エージング) 機能がサポートされていないので、この指定はどのユーザーも使用できません。
このオプションの出力 (このオプションのみ) は、「確実」で構文解析可能です。形式は username のあとにスペースが続き、そのあとに次のコードのいずれかが続きます。
これを解析するコードが不明なコードに対して柔軟性を持つように、今後新しいコードが追加される可能性があります。既存のすべてのコードの長さは 2 文字ですが、コードが常にこの長さであるとは限りません。
現在のステータスコードは次のとおりです。
UNIX 認証でアカウントがロックされています。passwd -l が実行されたか、認証に RETRIES 回失敗しました。
このアカウントではログインできないことを表します。passwd -N が実行されました。
アカウントはパスワードを持っていません。passwd -d が実行されました。
アカウントは有効なパスワードを持っている可能性が高いです。
パスワードフィールドのデータが不明です。認識可能なハッシュパスワードや上記のエントリのどちらでもありません。有効なパスワードハッシュについては、crypt(3C) を参照してください。
このアカウントはまだ管理者によって有効化されていないため、使用できません。「セキュリティー」を参照してください。
既存のアカウントをロックおよびロック解除できるように、管理者に User Security プロファイルを付与する必要があります。このプロファイルには、新しく作成されたアカウントを有効化する機能、パスワードの有効期限オプションを設定する機能、およびパスワード属性を表示する機能も用意されています。次のリストには、さまざまな操作を実行するために必要な承認を示します。
承認されたユーザーのみが、次のオプションを使用できます。
name に対するパスワードを削除します。ログイン name に対するパスワードを入力するように要求することはありません。この指定は、files および ldap リポジトリにのみ適用できます。
login(1) オプション PASSREQ=YES が構成されている場合、アカウントにはログインできません。PASSREQ=YES はデフォルト設定です。
name のパスワードの期限を切ることによって、次のログインセッションで パスワードを強制的にユーザーに変更させます。
すでにロックされているか、ログインできないアカウントである場合を除いて、name に対するアカウントをロックします。アカウントのロックを解除する方法については、-d オプション、または -u オプションを参照してください。
name に対するパスワードエントリを、ログインで使用できないが、アカウントをロックしない値にします。この値を削除したり、ログインできるようにパスワードを設定したりする方法については、-d オプションを参照してください。
name の最小のフィールドを設定します。min フィールドには、name に対するパスワードを変更するために最低限必要な日数が設定されます。min が max より大きい場合は、ユーザーはパスワードを変更できません。このオプションは、必ず -x オプションとともに使用してください。ただし、max が –1 に設定されている場合は例外です (最低経過日数を設定する機能がオフ)。この場合は、min を設定する必要はありません。
エントリ name に対してロックされたパスワードをロック解除します。ロックされたパスワードを削除したり、ログインできるようにパスワードを設定したりする方法については、-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 および pwconv が実際のシャドウファイルを更新するときに使用する一時ファイル。
パスワードファイル。
シャドウパスワードファイル。
シェルデータベース。
属性についての詳細は、attributes(5) を参照してください。
|
人間が読める形式の出力は「不確実」です。オプションは「確実」です。
at(1), batch(1), finger(1), kpasswd(1), login(1), cron(1M), domainname(1M), eeprom(1M), id(1M), ldapclient(1M), mkpwdict(1M), pwconv(1M), su(1M), useradd(1M), userdel(1M), usermod(1M), crypt(3C), getpwnam(3C), getspnam(3C), getusershell(3C), 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)
ypasswd コマンドは、passwd コマンドのラッパーです。ypasswd の使用は推奨されていません。passwd -r repository_name を使用することをお勧めします。
files および ldap リポジトリ内のパスワードを変更すると、失敗したログインのカウントがクリアされます。
パスワードを変更すると、非アクティブ期間の長さのために無効になったアカウントが再度有効になります。
入力端末処理は、キーシーケンスの一部を解釈し、その部分の情報を passwd コマンドに渡さない可能性があります。
パスワードを持っていないアカウント (ステータスコード NP) は、ログインできない可能性があります。login(1) PASSREQ オプションを参照してください。
さまざまなオプションを実行するために必要な承認:
-d delete password solaris.passwd.assign -N set nologin solaris.passwd.assign change any passwd solaris.passwd.assign -l lock account solaris.account.setpolicy -u unlock account solaris.account.setpolicy -n set min field for name solaris.account.setpolicy -w set warn field for name solaris.account.setpolicy -x set max field for name solaris.account.setpolicy -f forces password expiration solaris.account.setpolicy -s display password attributes solaris.account.setpolicy -a display password attributes solaris.account.setpolicy for all entries -e change login shell solaris.user.manage -g change gecos information solaris.user.manage -h change home directory solaris.user.manage set a newly created account's passwd for the first time solaris.account.activate