passwd - ユーザーパスワードの変更
概要
passwd [オプション] [ログイン]
説明
passwd コマンドは、ユーザーアカウントのパスワードを変更します。通常ユーザーは自分のアカウントのパスワードのみを変更できますが、スーパーユーザーは任意の口座のパスワードを変更できます。passwd は、アカウントまたは関連するパスワードの有効期限も変更します。
パスワードの変更
アカウントに空でないパスワードがある場合、ユーザーは最初に現在のパスワードを入力するように求められます。入力されたパスワードは暗号化され、保存されている値と比較されます。ユーザーは正しいパスワードを 1 回だけ入力できます。スーパーユーザーは、忘れられたパスワードを変更できるように、この手順をスキップできます。
パスワードが入力されると、パスワードの有効期限に関する情報がチェックされ、ユーザーがこの時点でパスワードを変更できるかどうかを確認します。そうでない場合、passwd はパスワードの変更を拒否して終了します。
次に、ユーザーは新しいパスワードを 2 回入力するように求められます。2 回目の入力は 1 回目の入力と比較され、パスワードを変更するには両方が一致する必要があります。
次に、パスワードが複雑さの要件を満たしているかどうかがテストされます。passwd は、複雑さの要件を満たさないパスワードを拒否します。システムデフォルトの消去文字またはキル文字を含めないでください。
ユーザーパスワードのヒント
パスワードのセキュリティは、暗号化アルゴリズムの強度とキー空間のサイズに依存します。従来の UNIX システムの暗号化方法は、NBS DES アルゴリズムに基づいています。より最近の方法が推奨されます (ENCRYPT_METHOD を参照)。キー空間のサイズは、選択されたパスワードのランダム性に依存します。
パスワードセキュリティの侵害は通常、無謀なパスワードの選択または取り扱いによって発生します。このため、辞書に載っている、または書き留める必要のあるパスワードを選択しないでください。パスワードは、人名、免許証番号、生年月日、または住所であってはなりません。これらのいずれかが、システムセキュリティを侵害するために推測として使用される可能性があります。
一般的なガイドラインとして、パスワードは長く、ランダムである必要があります。覚えやすいパスワードを作成するために、小文字のみのパスワードなど、単純な文字セットを使用しても構いません。小文字の英字のみでランダムに選択された長さ 32 のパスワードの場合、約 2^150 の 26^32 の異なる組み合わせがあります。指数関数であるため、指数(長さ)の方が基(文字セットのサイズ)よりも重要であることがわかります。
強力なパスワードの選択方法については、[https://en.wikipedia.org/wiki/Password_strength] を参照してください。
オプション
passwd コマンドに適用されるオプションは次のとおりです。
-a, --all
このオプションは -S と組み合わせて使用でき、すべてのユーザーのステータスを表示します。
-d, --delete
ユーザーのパスワードを削除し、空にします。このコマンドは、アカウントをパスワードなしのアカウントに設定します。
-e, --expire
アカウントのパスワードを直ちに期限切れにします。これにより、実質的にユーザーは次のログイン時にパスワードを変更する必要があります。
-h, --help
ヘルプメッセージを表示して終了します。
-i, --inactive INACTIVE
このオプションは、パスワードが期限切れになってから一定の日数経過した後にアカウントを無効にするために使用します。ユーザーアカウントのパスワードが期限切れになってから INACTIVE 日数経過すると、ユーザーはアカウントにサインインできなくなります。
-k, --keep-tokens
パスワードの変更は、期限切れの認証トークン(パスワード)に対してのみ実行されるように指示します。ユーザーは、期限切れでないトークンを以前のままにしたいと考えています。
-l, --lock
指定されたアカウントのパスワードをロックします。このオプションは、パスワードを、可能な暗号化された値に一致しない値に変更することで、パスワードを無効にします(パスワードの先頭に「!」を追加します)。
これはアカウントを無効にするわけではありません。ユーザーは、別の認証トークン(例:SSHキー)を使用してログインできる場合があります。アカウントを無効にするには、管理者側で usermod --expiredate 1 を使用します(これにより、アカウントの有効期限を 1970-01-02 に設定します)。
パスワードがロックされているユーザーは、パスワードを変更することはできません。
-n, --mindays MIN_DAYS
パスワードの変更間隔の最小日数を MIN_DAYS に設定します。このフィールドにゼロを指定すると、ユーザーはいつでもパスワードを変更できます。
-q, --quiet
クワイエットモード。
-r, --repository REPOSITORY
REPOSITORY リポジトリ内のパスワードを変更します。
-R, --root CHROOT_DIR
CHROOT_DIR ディレクトリ内の変更を適用し、CHROOT_DIR ディレクトリから構成ファイルを使用します。絶対パスのみがサポートされます。
-P, --prefix PREFIX_DIR
ルートファイルシステムの下にある PREFIX_DIR ディレクトリ内の構成ファイルに対して変更を適用します。このオプションは chroot を行わず、クロスコンパイルターゲットの準備を目的としています。いくつかの制限があります:NIS および LDAP ユーザー/グループは検証されません。PAM サポートはありません。SELINUX サポートもありません。
-S, --status
アカウントのステータス情報を表示します。ステータス情報には 7 つのフィールドが含まれます。最初のフィールドはユーザーのログイン名です。2 番目のフィールドは、ユーザーアカウントのパスワードがロックされている (L)、パスワードがない (NP)、または使用可能なパスワードがある (P) かどうかを示します。3 番目のフィールドは、最後のパスワードの変更日です。次の 4 つのフィールドは、パスワードの最小期間、最大期間、警告期間、および非アクティブ期間であり、これらは日数で表されます。
-u, --unlock
指定されたアカウントのパスワードをロック解除します。このオプションは、-l オプションを使用する前の値(以前の値)に戻すことで、パスワードを再度有効にします。
-w, --warndays WARN_DAYS
パスワードの変更が必要になるまでの警告日数を WARN_DAYS に設定します。WARN_DAYS オプションは、パスワードの有効期限が切れる前に、ユーザーにパスワードの有効期限が切れることを警告する日数です。
-x, --maxdays MAX_DAYS
パスワードが有効である最大日数を MAX_DAYS に設定します。MAX_DAYS を過ぎると、パスワードの変更が必要です。
^ 1 を MAX_DAYS として渡すと、パスワードの有効期限チェックが無効になります。
-s, --stdin
このオプションは、passwd が新しいパスワードを標準入力(パイプなど)から読み取ることを示すために使用されます。
注意事項
パスワードの複雑さのチェックは、サイトによって異なる場合があります。ユーザーは、可能な限り複雑なパスワードを選択することをお勧めします。
NIS が有効になっており、NIS サーバーにログインしていない場合、システムでパスワードを変更できない場合があります。
`passwd` は PAM を使用してユーザー認証とパスワードの変更を行います。
ファイル
/etc/passwd
ユーザーアカウント情報。
/etc/shadow
セキュアなユーザーアカウント情報。
/etc/pam.d/passwd
`passwd` の PAM 設定。
終了値
^ asswd コマンドは、以下の終了値で終了します。
0 成功
1 権限がありません
2 無効なオプションの組み合わせ
3 予期しないエラー、何も実行されません
4 `passwd` ファイルが見つかりません
5 `passwd` ファイルがビジー状態です。もう一度試してください。
6 オプションへの無効な引数
10 [pam]({filename}../../pam)(3) からエラーが返されました。
関連項目
chpasswd(8), makepasswd(1), passwd(5), shadow(5), usermod(8)。
次のウェブページは、2つの異なるパスワード選択方法の強さを面白く(そして正確に)比較しています: "https://xkcd.com/936/"