【Linux初心者向け】ユーザーのパスワードを変更する「passwd」コマンドの使い方を徹底解説!

Linuxを使い始めたばかりの方にとって、「ユーザーのパスワードをどうやって変更するのか?」というのは基本ながらも大切なポイントです。セキュリティを保つうえでも、定期的なパスワードの変更は欠かせません。本記事では、Linuxにおけるユーザーのパスワード変更に使われる「passwd」コマンドについて、具体的な使い方やオプション、トラブルシューティングまで、初心者にもわかりやすく丁寧に解説します。


「passwd」コマンドとは?

passwd コマンドは、Linuxでユーザーのパスワードを変更するために使われる基本的なコマンドです。このコマンドは、現在ログイン中のユーザー自身のパスワードを変更するだけでなく、rootユーザーであれば他のユーザーのパスワードも変更可能です。

多くのLinuxディストリビューション(Ubuntu, CentOS, Rocky Linux など)に標準で備わっており、使い方を覚えることでユーザー管理やセキュリティ強化に役立ちます。


自分のパスワードを変更する方法

一般ユーザーが自身のパスワードを変更するには、ターミナルで次のコマンドを実行します。

passwd

実行すると、次のようにパスワードの入力が求められます。

Changing password for user taro.
(current) UNIX password: ← 現在のパスワードを入力
New password: ← 新しいパスワードを入力
Retype new password: ← 確認のためもう一度新しいパスワードを入力
passwd: all authentication tokens updated successfully.

※ パスワード入力中は、セキュリティのために文字は表示されません。

新しいパスワードは、セキュリティの観点から強固なものを選びましょう。アルファベットの大文字・小文字、数字、記号を混ぜると安全性が高まります。


rootユーザーが他ユーザーのパスワードを変更する方法

管理者(root)権限があれば、他のユーザーのパスワードを変更できます。これは、パスワードを忘れたユーザーの対応や初期設定時に便利です。

コマンドの形式は以下の通りです。

sudo passwd ユーザー名

例:

sudo passwd taro

実行すると、現在のパスワードの入力は不要で、すぐに新しいパスワードの入力を求められます。

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

この操作により、対象ユーザーは次回のログインから新しいパスワードでログイン可能になります。


パスワードの有効期限を設定する

Linuxでは、パスワードの有効期限を設定して、定期的に変更を促すことができます。これには chage コマンドを使いますが、passwd でも一部設定が可能です。

例:パスワードの有効期限を90日に設定

sudo chage -M 90 ユーザー名

他にも以下のようなオプションがあります:

  • -m: 最短日数
  • -M: 最大日数
  • -W: 警告日数
  • -I: 期限切れ後の猶予日数
sudo chage -m 1 -M 90 -W 7 -I 14 ユーザー名

この設定で、最低1日空けてから再変更可能、最大90日で期限切れ、7日前に警告、14日間の猶予期間となります。


パスワードのロックとアンロック

セキュリティ上の理由などで、一時的にユーザーのログインを制限したい場合、passwd コマンドを使ってアカウントをロックできます。

ロックする

sudo passwd -l ユーザー名

例:

sudo passwd -l taro

これにより、ユーザー「taro」はログインできなくなります。

アンロックする

sudo passwd -u ユーザー名

例:

sudo passwd -u taro

この操作でログイン可能な状態に戻ります。


パスワード変更時のエラーと対処法

パスワードが短すぎる/単純すぎる

多くのLinuxシステムでは、セキュリティ強化のためにパスワードの強度が求められます。次のようなエラーが出ることがあります。

BAD PASSWORD: it is too short
BAD PASSWORD: it is based on a dictionary word

対処法としては、以下を意識してください:

  • 最低8文字以上
  • 英大文字、小文字、数字、記号を混ぜる
  • 実在する単語だけの構成は避ける

ユーザーが存在しない

passwd: user 'xxxxx' does not exist

この場合は、ユーザー名のスペルミスが考えられます。cat /etc/passwdgetent passwd でユーザー一覧を確認しましょう。


パスワード変更履歴の確認

Linuxでは、ユーザーのパスワード情報を /etc/shadow ファイルで管理しています。chage -l ユーザー名 を使うと、その情報を簡単に確認できます。

sudo chage -l taro

出力例:

Last password change					: Mar 28, 2025
Password expires : Jun 26, 2025
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7

まとめ:passwdコマンドはセキュリティ管理の基本

passwd コマンドは、Linuxにおけるユーザー管理とセキュリティ対策の第一歩とも言える重要な機能です。自分自身のパスワード変更はもちろん、rootユーザーでの管理やアカウントのロックなど、幅広い活用が可能です。

本記事で紹介した内容を参考に、ぜひ実際に試してみてください。セキュリティは一朝一夕で守れるものではありませんが、こうした基本操作の積み重ねが、堅牢なシステム運用につながっていきます。

タイトルとURLをコピーしました