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/passwd
や getent 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ユーザーでの管理やアカウントのロックなど、幅広い活用が可能です。
本記事で紹介した内容を参考に、ぜひ実際に試してみてください。セキュリティは一朝一夕で守れるものではありませんが、こうした基本操作の積み重ねが、堅牢なシステム運用につながっていきます。