ホーム > パッケージ・システム管理 > chpasswd

chpasswd: ユーザーパスワードの一括変更

chpasswdコマンドは、複数のユーザーアカウントのパスワードを一括で更新するために使用されます。主にスクリプトや自動化された環境で、大量のパスワードを設定または変更する場合に便利です。入力は「ユーザー名:パスワード」の形式で行われます。

概要

chpasswdは、標準入力またはファイルから「ユーザー名:パスワード」形式のデータを読み込み、該当するユーザーのパスワードを更新します。このコマンドは通常、root権限で実行する必要があり、大規模なユーザー環境でのパスワード管理を自動化するために不可欠です。

主な特徴

  • パスワードの一括変更機能
  • スクリプトおよび自動化に適している
  • 標準入力またはファイルからデータを読み込む
  • root権限が必要

主なオプション

chpasswdコマンドは、パスワード処理方法に関連するいくつかの重要なオプションを提供します。

パスワード処理

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`chpasswd` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

chpasswdコマンドを活用した様々なパスワード変更シナリオです。

単一ユーザーのパスワード変更

echo 'testuser:newpassword123' | sudo chpasswd

echoコマンドをパイプ(|)で接続して、単一ユーザーのパスワードを変更します。この方法はスクリプトで役立ちます。

ファイルから複数のユーザーのパスワードを変更

cat users.txt
# users.txtの内容:
# user1:pass123
# user2:pass456
sudo chpasswd < users.txt

users.txtファイルに「ユーザー名:パスワード」形式で複数行を記述した後、chpasswdに入力として提供して一括変更します。

既に暗号化されたパスワードの使用

echo 'user3:$6$rounds=5000$saltsalt$hashedpasswordexample' | sudo chpasswd -e

パスワードが既に暗号化された(ハッシュ化された)形式の場合、-e(または--encrypted)オプションを使用して、chpasswdが再度暗号化しないようにします。この場合、パスワードは/etc/shadowファイルの形式と一致する必要があります。

特定の暗号化方式でパスワードを変更

echo 'user4:securepass' | sudo chpasswd --crypt-method SHA512

プレーンテキストのパスワードを特定の暗号化方式(例: SHA512)でハッシュ化して変更します。この場合、-eオプションは使用しません。

ヒントと注意点

chpasswdコマンドを安全かつ効率的に使用するためのヒントと注意点です。

セキュリティ上の考慮事項

パスワードは機密情報であるため、以下の点に注意が必要です。

  • **root権限**: chpasswdはシステムのパスワードを変更するため、必ずroot権限で実行する必要があります。
  • **履歴の回避**: `echo 'user:pass' | sudo chpasswd`のように直接パスワードを入力する場合、シェル履歴に残る可能性があります。`unset HISTFILE`または`history -c`などで履歴を削除するか、ファイルから読み込む方法を推奨します。
  • **ファイル権限**: パスワードが含まれるファイルは、必ず所有者(root)のみが読み取れるように権限を設定する必要があります(例: `chmod 600 users.txt`)。
  • **一時ファイルの利用**: スクリプトで一時ファイルを生成してパスワードを渡す場合、作業完了後に必ずファイルを安全に削除する必要があります。

入力形式

chpasswdは「ユーザー名:パスワード」形式のみを認識します。他の形式はエラーを引き起こす可能性があります。

  • 各行は1つのユーザー:パスワードのペアである必要があります。
  • コロン(:)でユーザー名とパスワードを区切ります。

暗号化方式

デフォルトでは、chpasswdはシステムのデフォルト暗号化方式を使用します。`--crypt-method`オプションを使用して特定の方式を強制できますが、これはシステムのセキュリティポリシーと一致するかどうかを確認する必要があります。



同じカテゴリのコマンド