Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

passwd (1)

名前

passwd - ログインパスワードおよびパスワード属性の変更

形式

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 | -p hash] [-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 | -p hash] [-f] [-n min]
     [-w warn] [-x max] name
passwd -r nis [-egh] [name]

説明

passwd コマンドは、パスワードを変更したり、あるいはユーザーのログイン name に関連するパスワードの属性を表示したりします。Additionally, authorized users can use passwd to install or change passwords and attributes associated with any login name, as described in the Authorized User Options section below.

When used by a user to change their own password, passwd prompts the user for their old password, if any.次に、新しいパスワードを 2 回入力するように要求します。The passwd command does not prompt for the old password when used by a user who is authorized to change other users passwords.

If LDAP is one of the configured nameservices, an authorized user on any LDAP client system can change any password without being prompted for the old LDAP password.

古いパスワードを入力すると、passwd は、そのパスワードが十分に時間経過しているかをチェックします。時間経過が不十分な場合は、passwd が終了します。For additional information, see the shadow(5) man page.

時間経過が十分である場合、新しいパスワードの構造が要求に合うかどうかチェックが行われます。新しいパスワードを 2 回入力した時点で、2 つの新しいパスワードが比較されます。2 つのパスワードが同じでない場合は、新しいパスワードに対して、最大 2 回までプロンプトが繰り返されます。

パスワードは、次の要求に合うように作らなければなりません。

  • Each password must have at least PASSLENGTH characters, where PASSLENGTH is defined in /etc/default/passwd and is set to 8 by default.PASSLENGTH may be set to more than eight characters as long as policy.conf(5) has not been configured to use an algorithm that only supports eight characters, such as the legacy crypt_unix(7).

  • 各パスワードは、/etc/default/passwd に指定されている複雑さの制約を満たす必要があります。

  • 各パスワードは、/etc/default/passwd に指定されている構成済み辞書のメンバーと同じであってはいけません。

  • パスワード履歴チェックをサポートしているネームサービス用のアカウントで旧パスワード履歴が定義されている場合、新しいパスワードは、旧パスワード履歴に含まれるものであってはいけません。

デフォルトでは、ほかのユーザーのパスワードを変更することを承認されているユーザーでも、構成済みパスワードポリシーに従う必要があります。Users with the solaris.passwd.nocheck authorization may bypass these checks.For more information, see pam_authtok_check(7).

If all requirements are met, by default, the passwd command consults nsswitch.conf(5) to determine in which repositories to perform password update.The sources (repositories) associated with the passwd entry are updated.ただし、サポートされるパスワード更新の構成は制限されており、次の規則に従う必要があります。

  • passwd 行には、1 つ、2 つ、または 3 つのエントリが含まれている必要があります

  • 最初の passwd エントリはファイルである必要があります

  • ファイル以外の passwd エントリ、NIS、および LDAP は無視され、パスワード更新中にスキップされます。It is necessary to use a source-specific tool to update passwords in such other databases.

パスワードテーブルを所有するネットワーク管理者は、パスワードのどの属性をも変更できます。また、LDAP シャドー情報を更新するために構成された管理者も、任意のパスワード属性を変更できます。詳細は、ldapclient(8) のマニュアルページを参照してください。

ユーザーのパスワードが、ローカル files エントリ内のほかに、いずれかのネームサービス内に格納されている場合、passwd コマンドはその両方を更新します。ネームサービス内のパスワードとローカル files エントリ内のパスワードは異なっている可能性があります。特定のパスワードリポジトリを変更するには、passwd –r を使用してください。

通常、引数なしで入力された passwd は現在のユーザーのパスワードを変更します。When a user logs in and then invokes su(8) to assume a role or become another user, passwd changes the original user's password, not the password of the role or the new user.

セキュリティー

パスワードを変更するとき、passwdpam(3PAM) を使用します。サービス名 passwd を使用して PAM を呼び出し、パスワード変更のための認証とパスワードにサービスモジュールタイプ auth を使用します。

アカウントをロックすると (–l オプション)、すべてのログインまたは遅延実行でのその使用が許可されなくなります (at(1), batch(1), cron(8) など)。–N オプションを使用すると、UNIX 以外の認証方法によるログインまたは遅延実行は引き続き許可する一方で、パスワードに基づくログインを禁止できます。

ロックされたアカウントがパスワードを持ったことのない場合、そのステータスをアクティブなパスワードを持つ状態に直接変更することはできません。–d を参照してください。ロックされる前にパスワードを持っていた、ロックされたアカウントでパスワードを変更すると、アカウントをロック解除せずにパスワードが変更されます。アカウントのロック解除については、–u を参照してください。承認された管理者は、パスワードを割り当てるか、または passwd –N を実行して UNIX 以外の認証または遅延実行に対してのみアクティブにすることによって、まだアクティブな状態になっていないアカウントをアクティブにできます。

アカウントは非アクティブになったあとでロックされることがあります。このようなアカウントをロック解除するには、–u または –f オプションを使用します。–u の場合、パスワードは変更されません。–f を使用すると強制的にパスワードが変更されます。

オプション

サポートしているオプションは、次のとおりです。

–a

すべてのエントリのパスワードの属性を表示します。–s オプションとともにのみ使用し、name を指定してはいけません。For the files and ldap repositories, this is restricted to users with the solaris.account.setpolicy authorization.

–e

ログインシェルを変更します。シェルの選択は、getusershell(3C) によって制限されています。If the user currently has a shell that is not allowed by getusershell(), usermod -s must be used to change it.

–g

gecos (finger) 情報を変更します。

–h

This option formerly changed the home directory, but now just prints a message to use usermod -d instead.

–r

処理の対象とするレポジトリ (記録場所) を指定します。サポートされているリポジトリは、filesldap、または nis です。

–s name

name が示すログイン名用のパスワード属性を表示します。For the files and ldap repositories, this only works for users with the solaris.account.setpolicy authorization.また nis の場合には、パスワードの有効期限を設定する (エージング) 機能がサポートされていないので、この指定はどのユーザーも使用できません。

このオプションの出力 (このオプションのみ) は、「確実」で構文解析可能です。これを解析するコードが不明なコードに対して柔軟性を持つように、今後新しいコードが追加される可能性があります。既存のすべてのコードの長さは 2 文字ですが、コードが常にこの長さであるとは限りません。

表示の書式は、次のようになります。

name status mm/dd/yy min max warn

パスワードの有効期限の情報が存在しない場合は、次のようになります。

name status

各情報の意味は次のとおりです。

name

ユーザーのログイン ID。

status

name のパスワードステータス。

status フィールドは次の値をとることができます。

AL

認証失敗の数が許容される構成済みの最大数に達したためにアカウントが自動的にロックされました。policy.conf(5), user_attr(5)、および「セキュリティー」セクションを参照してください。

LK

アカウントがロックされています。passwd –l が実行されたか、または認証失敗の数が許容される構成済みの最大数に達したためにアカウントが自動的にロックされました。policy.conf(5), user_attr(5)、および「セキュリティー」セクションを参照してください。

NL

アカウントが UNIX 以外の認証アカウントです。passwd –N が実行されました。See “Security”.この状態のアカウントは、システムポリシーまたはユーザーごとのポリシーが LOCK_AFTER_RETRIES=YES になっていると、自動的にはロックされません。

NP

This account has no password and is therefore open without authentication. passwd -d was run.

PS

アカウントは有効なパスワードを持っている可能性が高いです。

UN

パスワードフィールドのデータが不明です。認識可能なハッシュパスワードや上記のエントリのどちらでもありません。有効なパスワードハッシュについては、crypt(3C) を参照してください。

UP

このアカウントはまだ管理者によって有効化されていないため、使用できません。See Security.

mm/dd/yy

name のパスワードが最近変更された日付All password aging dates are determined using Coordinated Universal Time (UTC) and therefore can differ by as much as a day in other time zones.

min

name に対するパスワード変更に最低限必要な日数。MINWEEKS/etc/default/passwd にあり、NULL に設定されています。

max

パスワードが name に対して有効である最大日数。MAXWEEKS/etc/default/passwd にあり、NULL に設定されています。

warn

パスワードの有効期限切れが近いことを示す警告を name が受ける日を、max に相対的な日数で表します。

The default password aging policy can be specified in either days or in weeks.MAXWEEKS または MINWEEKS のどちらかにデフォルト値が指定されている場合、shadow(5) データベースは日数単位で更新されます。ある特定の MIN/MAX/WARN 変数に WEEKSDAYS の両方のバリアントを設定することは誤りです。The MIN and WARN policies are only active if a MAX policy is also set.

Authorized User Options

既存のアカウントをロックおよびロック解除できるように、管理者に User Security プロファイルを付与する必要があります。このプロファイルには、新しく作成されたアカウントを有効化する機能、パスワードの有効期限オプションを設定する機能、およびパスワード属性を表示する機能も用意されています。次のリストには、さまざまな操作を実行するために必要な承認を示します。

承認されたユーザーのみが、次のオプションを使用できます。

–d

name に対するパスワードを削除します。ログイン name に対するパスワードを入力するように要求することはありません。この指定は、files および ldap リポジトリにのみ適用できます。

login(1) オプション PASSREQ=YES が構成されている場合、アカウントにはログインできません。PASSREQ=YES はデフォルト設定です。

–f

name のパスワードの期限を切ることによって、次のログインセッションで パスワードを強制的にユーザーに変更させます。このオプションは、非アクティブが原因でロックされたアカウントをロック解除する場合に便利です。

–l

すでにロックされている場合を除き、name のアカウントをロックします。アカウントのロック解除については、–u オプションを参照してください。UNIX 以外の認証または遅延実行のみとしてマークされているアカウントはロック可能であり、ロック解除されると同じ状態に戻ります。

–N

name に対するパスワードエントリを、UNIX 認証でのログインには使用できないが、そのアカウントをロックしない値にします。この値を削除する場合は –d オプションを、アカウントをロックする場合は –l を参照してください。

–p hash

シャドウパスワードフィールドに配置する正確な文字列値を指定します。Strings may be generated using the pwhash(1) command.ユーザーは solaris.passwd.assignsolaris.passwd.nocheck の両方の承認を持っている必要があります。パスワードハッシュの更新をスクリプト化するために使用されます。Its use is generally discouraged, as the hashed password is visible through ps(1) and other proc(5) tools while the command runs.

–n min

name の最小のフィールドを設定します。min フィールドには、name に対するパスワードを変更するために最低限必要な日数が設定されます。minmax より大きい場合は、ユーザーはパスワードを変更できません。このオプションは、必ず –x オプションとともに使用してください。ただし、max–1 に設定されている場合は例外です (最低経過日数を設定する機能がオフ)。この場合は、min を設定する必要はありません。

–u

エントリ name に対してロックされたパスワードをロック解除します。–u オプションは、失敗した試行回数のためにロックされたか、または –l オプションを使用して管理上ロックされたアカウントのロック解除に役立ちます。UNIX 以外の認証アカウントとしてマークされたアカウント (passwd –N) は、ロック解除されると、その状態に戻ります。

–w warn

name の警告フィールドを設定します。warn フィールドには、パスワードの有効期限が切れる何日前に、期限切れが近いことを示す警告をユーザーが受けるか、その日数が設定されます。このオプションは、パスワードの有効期限が切れている場合は無効です。

–x max

name の最大のフィールドを設定します。max フィールドには、パスワードが name に対して有効である最大の日数が設定されます。max–1 に設定された場合は、name の有効期限を設定する機能はただちにオフになります。

The authorizations, as defined in user_attr(5), which are required to perform restricted operations are as follows:

Option
Operation
Authorization
–d
Delete password
solaris.passwd.assign
–N
Set nologin
solaris.passwd.assign
 
Change any password
solaris.passwd.assign
 
Bypass complexity checks
solaris.passwd.nocheck
–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
–f
Force password expiration
solaris.account.setpolicy
–s
Display password attributes
solaris.account.setpolicy
–a
Display password attributes for all entries
solaris.account.setpolicy
–e
Change login shell
solaris.user.manage
–g
Change gecos information
solaris.user.manage
–h
Change home directory
solaris.user.manage
 
Set a password for the first time for a newly created account
solaris.account.activate

オペランド

次のオペランドを指定できます。

name

User login name.

環境変数

LC_* 変数 (LC_CTYPE、LC_MESSAGES、LC_TIME、LC_COLLATE、LC_NUMERIC、および LC_MONETARY) (environ(7) を参照) のいずれも環境に設定されていなければ、それぞれ対応するロケールのカテゴリにおける passwd の動作は、環境変数 LANG によって決定されます。LC_ALL が設定されていれば、その内容が LANG 変数やその他の LC_* 変数より優先されます。前述の変数が環境にまったく設定されていなければ、C ロケール (米国スタイル) が passwd の動作を決定します。

LC_CTYPE

passwd の文字の処理方法を決定します。When LC_CTYPE is set to a valid value, passwd can display and handle text and filenames containing valid characters for that locale. passwd can display and handle Extended UNIX Code (EUC) characters where any individual character can be 1, 2, or 3 bytes wide. passwd can also handle EUC characters of 1, 2, or more column widths.C ロケール においては、ISO 8859-1の文字だけが有効です。

LC_MESSAGES

診断メッセージや情報メッセージの表示方法を決定します。また、メッセージの言語とスタイル、肯定・否定の応答形式も決定します。C ロケールでは、メッセージはプログラム自身が使用しているデフォルトの形 (通常、米語) で表示されます。

終了ステータス

passwd は、処理終了時に次のいずれかの値を返します。

0

成功。

1

アクセス権が拒否されました。

2

オプションの組み合わせが無効です。

3

予期しない失敗。パスワードファイルは変更されませんでした。

4

予期しない失敗。パスワードファイルがありません。

5

パスワードファイルは使用中です。あとで再試行してください。

6

オプションに対する引数が無効です。

7

有効期限のオプションが無効です。

8

メモリーがありません。

9

システムエラー。

10

アカウントが期限切れです。

11

Password information unchanged.

ファイル

/etc/default/passwd

/etc/default/passwd ファイルは廃止されています。However, you can use the svc:/system/account-policy:default service to set the corresponding SMF properties.

次の表に、/etc/default/passwd 内のプロパティーと SMF プロパティーとの対応関係の一覧を示します。

Property in /etc/default/passwd
Corresponding SMF Property
DICTIONDBDIR
password/dictionary/db_dir
DICTIONLIST
password/dictionary/word_list
DICTIONMINWORDLENGTH
password/dictionary/min_word_length
HISTORY
password/history
MAXREPEATS
password/complexity/max_repeats
MAXDAYS
password/aging_defaults/max_days
MAXWEEKS
password/complexity/max_days
MINALPHA
password/complexity/min_alpha
MINDIFF
password/complexity/min_diff
MINDIGIT
password/complexity/min_digit
MINLOWER
password/complexity/min_lower
MINNONALPHA
password/complexity/min_nonalpha
MINDAYS
MINWEEKS
password/complexity/min_days
MINSPECIAL
password/complexity/min_special
MINUPPER
password/complexity/min_upper
NAMECHECK
password/complexity/namecheck
PASSLENGTH
password/complexity/passlength
WARNDAYS
password/aging_defaults/warn_days
WARNWEEKS
password/complexity/warn_days
WHITESPACE
password/complexity/whitespace

SMF プロパティーの管理については、account-policy(8S) のマニュアルページを参照してください。

/etc/default/passwd ファイル内のプロパティーの説明を次に示します。

DICTIONDBDIR

生成された辞書データベースが格納されるディレクトリ。デフォルトは /var/passwd

DICTIONLISTDICTIONDBDIR のどちらも指定しない場合、辞書チェックは実行されません。

DICTIONLIST

コンマ区切りの辞書ファイルのリスト。たとえば、DICTIONLIST=file1、file2, file3各辞書ファイルには複数の行が含まれ、各行は 1 つの単語と 1 つの NEWLINE 文字で構成されます。完全パス名を指定する必要があります。これらのファイルの単語は 1 つのデータベースにマージされ、パスワードが辞書の単語に基づいているかどうかを判断します。

スペルチェック辞書 (/usr/share/lib/dict/words など) を DICTIONLIST に指定できますが、最初に前処理を行う必要があります。簡単な方法については、次の「DICTIONMINWORDLENGTH」を参照してください。

DICTIONLISTDICTIONDBDIR のどちらも指定しない場合、辞書チェックは実行されません。

辞書データベースを事前に構築するには、mkpwdict(8) を参照してください。

DICTIONMINWORDLENGTH

DICTIONMINWORDLENGTH には、DICTIONLIST 内のソースファイルの最小文字数を指定する数値を含めることができます。指定された文字数より短い単語はパスワード辞書から省略されます。

指定できる最小値は 2 (文字) です。デフォルト値は 3 (文字) です。

HISTORY

ユーザーごとに保存しておく旧パスワード履歴の最大数。HISTORY 値をゼロ (0) に設定するか、HISTORY フラグを削除した場合、任意のユーザーが次回パスワードを変更するときに、すべてのユーザーの旧パスワード履歴が破棄されます。デフォルトでは、HISTORY フラグを定義しません。The maximum value is 26.Currently, this functionality is enforced only for user accounts defined in the files name service (local passwd(5)/shadow(5)).

MAXREPEATS

同じ文字を続けることができる最大数を定義します。MAXREPEATS を設定しないか、ゼロ (0) に設定した場合、デフォルトでは、このチェックは実行されません。

MAXDAYS

パスワードが有効な最大期間 (日数)。

MAXWEEKS

パスワードが有効な最大期間 (週数)。

MINALPHA

パスワードに必要な英字の最小数。MINALPHA を設定しない場合、デフォルトは 2 です。

MINDIFF

古いパスワードと新しいパスワードで異なる必要がある文字の最小数。MINDIFF を設定しない場合、デフォルトは 3 です。

MINDIGIT

パスワードに必要な数字の最小数。MINDIGIT を設定しないか、ゼロ (0) に設定した場合、デフォルトでは、このチェックは実行されません。MINNONALPHA を指定した場合、MINDIGIT は指定できません。

MINLOWER

Minimum number of lowercase letters required.MINLOWER を設定しないか、ゼロ (0) に設定した場合、デフォルトでは、このチェックは実行されません。

MINNONALPHA

パスワードに必要な英字以外の文字 (数字または特殊文字) の最小数。MINNONALPHA を設定しない場合、デフォルトは 1 です。MINDIGIT または MINSPECIAL を指定した場合、MINNONALPHA は指定できません。

MINDAYS

パスワード変更に最低限必要な期間 (日数)。

MINWEEKS

パスワード変更に最低限必要な期間 (週数)。

MINSPECIAL

パスワードに必要な特殊文字 (英字と数字以外の文字) の最小数。MINSPECIAL を設定しないか、ゼロ (0) に指定した場合、デフォルトでは、このチェックは実行されません。MINNONALPHA を指定した場合、MINSPECIAL は指定できません。

MINUPPER

Minimum number of uppercase letters required.MINUPPER を設定しないか、ゼロ (0) に設定した場合、デフォルトでは、このチェックは実行されません。

NAMECHECK

ログイン名のチェックを有効または無効にします。デフォルトでは、ログイン名チェックは実行されます。NAMECHECK を no (大文字小文字の区別なし) に設定した場合、このチェックは実行されません。

PASSLENGTH

パスワードに最低限必要な文字数

WARNDAYS

パスワードの有効期間が切れる前の警告期間 (日数)。

WARNWEEKS

パスワードの有効期間が切れる前の警告期間 (週数)。

WHITESPACE

パスワード内でスペース文字を許可するかどうかを指定します。指定できる値は、YESNO です。WHITESPACE が設定されていないか、または YES に設定されている場合、スペース文字は許可されます。

/etc/oshadow

passwd および pwconv が実際のシャドウファイルを更新するときに使用する一時ファイル。

/etc/passwd

パスワードファイル。

/etc/shadow

シャドウパスワードファイル。

/etc/shells

シェルデータベース。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
CSI
有効
インタフェースの安定性
下記を参照。

人間が読める形式の出力は「不確実」です。The options are Committed, as is the parsable output of the –s option.

関連項目

at(1), batch(1), finger(1), login(1), pwhash(1), crypt(3C), getpwnam(3C), getspnam(3C), getusershell(3C), pam(3PAM), crypt.conf(5), loginlog(5), nsswitch.conf(5), pam.conf(5), passwd(5), policy.conf(5), shadow(5), shells(5), user_attr(5), attributes(7), crypt_unix(7), environ(7), pam_authtok_check(7), pam_authtok_get(7), pam_authtok_store(7), pam_dhkeys(7), pam_ldap(7), pam_unix_account(7), pam_unix_auth(7), pam_unix_session(7), rbac(7), cron(8), eeprom(8), id(8), ldapclient(8), mkpwdict(8), pwconv(8), su(8), useradd(8), userdel(8), usermod(8), account-policy(8S)

Managing User Accounts and User Environments in Oracle Solaris 11.4

yppasswd コマンドは、passwd のラッパーです。yppasswd の使用は推奨されていません。passwd –r repository_name を使用することをお勧めします。

files および ldap リポジトリ内のパスワードを変更すると、失敗したログインのカウントがクリアされます。

パスワードを変更すると、非アクティブ期間の長さのために無効になったアカウントが再度有効になります。

入力端末処理は、キーシーケンスの一部を解釈し、その部分の情報を passwd コマンドに渡さない可能性があります。

パスワードを持っていないアカウント (ステータスコード NP) は、ログインできない可能性があります。login(1) PASSREQ オプションを参照してください。

All password hash algorithms provided with Oracle Solaris 11.4, except for crypt_unix(7), have a maximum password length of 255.See crypt.conf(5) and account-policy(8S) for information on configuring the algorithm to use.

unlock_after ユーザー属性は、ログイン失敗回数の超過によってロックされたアカウントにのみ適用されます。

History

The AL status code; the properties MAXDAYS, MINDAYS, and WARNDAYS; and the use of the account-policy(8S) SMF service to store the property values were added to Oracle Solaris in Solaris 11.4.0.

The –p option was added to Oracle Solaris in Solaris 11.3.4.

The DICTIONMINWORDLENGTH property was added to Oracle Solaris in Solaris 11.1.17 and a Solaris 10 patch.

Support for NIS+, including the –D option, and the nisplus repository argument for the –r option, was removed in Solaris 11.0.0.

Support for the –h option was removed in Solaris 11.0.0.

The –N and –u options; and the properties DICTIONDBDIR, DICTIONLIST, HISTORY, MAXREPEATS, MINALPHA, MINDIFF, MINDIGIT, MINLOWER, MINNONALPHA, MINSPECIAL, MINUPPER, NAMECHECK, and WHITESPACE; were added to Oracle Solaris in Solaris 10 3/05.

Support for password encryption algorithms beyond the traditional UNIX crypt(3C), via the crypt.conf(5) configuration, was added to Solaris in Solaris 9 12/02 (Update 2).

Support for LDAP, including the ldap repository argument for the –r option, was added in Solaris 8.

The options –r (with the files, nis, and nisplus repositories), –e, –g, –h, and –D were added to Solaris in Solaris 2.5.

The options –d, –f, –l, –s, and –w, and support for the /etc/default/passwd file, with the properties MAXWEEKS, MINWEEKS, PASSLENGTH, and WARNWEEKS, were added to Solaris in Solaris 2.0.

The options –a, –n, and –x were added in SunOS 4.1 and have been present in all releases of Solaris.

The passwd command has been included in all releases of SunOS and Solaris.