Linuxコマンド · 1 min read · Dec 23, 2025

初心者のためのLinux chpasswdコマンドチュートリアル(5つの例)

ここHowtoForgeでは、Linuxシステムでアカウントのパスワードを変更するpasswdコマンドについてすでに説明しました。しかし、複数のユーザーのパスワードを一度に変更したい場合はどうでしょうか?実は、これを可能にするコマンド - chpasswd - が存在します。

このチュートリアルでは、いくつかのわかりやすい例を使ってこのツールの基本を説明します。しかしその前に、ここでのすべての例はUbuntu 18.04 LTSマシンでテストされていることをお伝えしておきます。

Linux chpasswdコマンド

Linuxのchpasswdコマンドは、バッチモードでパスワードを更新することができます。以下がその構文です:

chpasswd [options]

そして、ツールのマニュアルページには次のように記載されています:

 chpasswdコマンドは、標準入力からユーザー名とパスワードのペアのリストを読み取り、この情報を使用して既存のユーザーのグループを更新します。各行は次の形式です:
  
 user_name:password  
  
 デフォルトでは、パスワードは平文で提供される必要があり、chpasswdによって暗号化されます。また、パスワードの有効期限も存在する場合は更新されます。

以下は、chpasswdがどのように機能するかを理解するのに役立つQ&A形式の例です。

Q1. chpasswdコマンドの使い方は?

基本的な使用法は、上記の導入部分で説明した通り非常に簡単です。オプションなしでchpasswdコマンドを実行し(root権限で)、’username:password’形式で新しいパスワードを入力します。

例えば、私は次のコマンドを実行しました:

$ chpasswd

そして、次の入力を提供しました:

himanshu:thisismynewpassword789
test:latestpassword123

注意1:chpasswdは標準入力での入力を期待しているため、ユーザー名と新しいパスワードの入力が完了したら、Ctrl+Dを押すのを忘れないでください。

注意2:ここで使用されているパスワードはデモ目的のものであり、いかなる方法でも使用しないでください。

Q2. chpasswdにファイルから情報を読み込ませるには?

時には、ツールにファイルから入力情報を読み込ませたい場合があります(標準入力ではなく)。これは次のように行うことができます:

cat [FILENAME] | chpasswd

例えば:

cat newpass.txt | chpasswd

入力の形式は同じままで、’username:password’ですが、今はファイルに書かれています。

Q3. chpasswdは暗号化をどのように処理するか?

ツールのマニュアルページでは次のように説明されています:

 デフォルトでは、パスワードはPAMによって暗号化されますが(推奨されていませんが)、-e、-m、または-cオプションを使用して異なる暗号化方法を選択できます。  
  
 PAMがパスワードを暗号化するために使用されていない場合、chpasswdは最初にメモリ内のすべてのパスワードを更新し、エラーが発生しなかった場合はすべての変更をディスクにコミットします。  
  
 PAMがパスワードを暗号化するために使用される場合(およびシステムデータベース内のパスワードを更新する場合)、パスワードを更新できない場合でもchpasswdは次のユーザーのパスワードの更新を続け、終了時にエラーコードを返します。  
  
 このコマンドは、多くのアカウントが一度に作成される大規模なシステム環境で使用されることを意図しています。

Q4. 異なる暗号化方法を有効にするには?

これは-cコマンドラインオプションを使用して行うことができます。デフォルトでは、すでにご存知のように、PAMが暗号化方法として使用されますが、-cを使用することで次のいずれかを指定できます:DES、MD5、NONE、SHA256、またはSHA512(選択した方法がlibcでサポートされている場合)。

例えば:

chpasswd -c DES

Q5. chpasswdに暗号化された入力を知らせるには?

必要であれば、暗号化されたパスワードを入力として提供することもできます。しかし、そのためには-chpasswdがこれを認識できるように-eオプションを使用する必要があります。

chpasswd -e

結論

chpasswdコマンドは通常、Linux PCやネットワーク上のユーザー管理を任されたシステム管理者や人々によって使用されますが、通常のユーザーであっても学ぶことに害はありません。ここでは、このツールのいくつかの主要なコマンドラインオプションについて説明しました。詳細を学ぶには、マニュアルページにアクセスしてください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。