このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】パスワードの設定と変更:passwdコマンド
passwdコマンドの概要
「passwd
」コマンドは、ユーザーアカウントのパスワードを設定および変更するために使用されます。システム管理者(root)は他のユーザーのパスワードを設定または変更できますが、一般ユーザーは自身のパスワードのみ変更できます。
【構文】passwd [オプション] [ユーザー名]
rootユーザーと一般ユーザーでのpasswdコマンド実行の違い
一般ユーザー
- 自分自身のパスワードのみ変更可能。
- 現在のパスワードの入力が求められる。
- 新しいパスワードの入力が2回求められる。
・一般ユーザーである「user01」で「passwd」コマンドを実行します。
パスワードには辞書チェックに引っかからないように設定する必要があります。
ここでは、パスワードを「password」から「p@55w0rd」に変更します。
user01@ubuntu-vm:~$ passwd
user01 用にパスワードを変更中
Current password: # 現在のパスワード「password」を入力
新しい パスワード: # 新しいパスワード「p@55w0rd」を入力
新しい パスワードを再入力してください: # もう一度「p@55w0rd」を入力
passwd: パスワードは正しく更新されました
rootユーザー
- 他のユーザーのパスワードも変更可能。
- 現在のパスワードの入力は不要。
- 変更するユーザー名を指定することで、そのユーザーのパスワードを変更できる。
rootユーザーに切り替えます。
・「su -
」コマンドを実行して、パスワードを入力します。
user01@ubuntu-vm:~$ su -
パスワード:
root@ubuntu-vm:~#
・「passwd user01
」コマンドを実行します。
user01ユーザーのパスワードを「password」に変更します。
一般ユーザーでは設定できなかった、辞書チェックに引っかかるパスワードでも設定することが可能です。
root@ubuntu-vm:~# passwd user01
新しい パスワード: # 「password」と入力
正しくないパスワード: このパスワードは辞書チェックに失敗しました - 辞書の単語に基づいています
新しい パスワードを再入力してください: # 「password」と入力
passwd: パスワードは正しく更新されました # 辞書チェックに引っかかるパスワードでも設定可能
・「exit
」コマンドを実行します。
一般ユーザーに戻ります。
root@ubuntu-vm:~# exit
ログアウト
user01@ubuntu-vm:~$
主なオプションと説明
オプション | 説明 |
---|---|
-d | 指定したユーザーのパスワードを削除します。 |
-l | 指定したユーザーのアカウントをロックします。 |
-u | 指定したユーザーのアカウントのロックを解除します。 |
-x DAYS | パスワードの有効期限(最長使用日数)を設定します。 |
-w DAYS | パスワードが無効になる前に警告を表示する日数を指定する。 |
コマンドの使用例と解説
ここで使用するコマンドを実行する前に、以下のコンテンツの内容を実施しておく必要があります。
1.一般ユーザーが自身のパスワードを変更する
suzukiユーザーに切り替えます。
・「su suzuki」コマンドを実行します。パスワードには「password」と入力します。
user01@ubuntu-vm:~$ su suzuki
パスワード:
suzuki@ubuntu-vm:/home/user01$
・「passwd
」コマンドを実行します。
このコマンドを実行すると、現在のパスワードと新しいパスワードの入力を求められます。新しいパスワードは2回入力する必要があります。
パスワードには辞書チェックに引っかからないように設定する必要があります。
ここでは、パスワードを「password」から「p@55w0rd」に変更します。
suzuki@ubuntu-vm:/home/user01$ passwd
suzuki 用にパスワードを変更中
Current password:
新しい パスワード:
新しい パスワードを再入力してください:
passwd: パスワードは正しく更新されました
2.rootユーザーが他のユーザーのパスワードを変更する
rootユーザーに切り替えます。次のコマンドを実行します。
- 「
exit
」コマンドを実行します。 - 「
su -
」コマンドを実行します。パスワードには「password」と入力します。
user01@ubuntu-vm:~$ su -
パスワード:
root@ubuntu-vm:~#
suzukiユーザーのパスワードを変更します。rootユーザーは現在のパスワードの入力を求められず、新しいパスワードの入力のみで済みます。
suzukiユーザーのパスワードを「password」に変更します。
一般ユーザーでは設定できなかった、辞書チェックに引っかかるパスワードでも設定することが可能です。
root@ubuntu-vm:~# passwd suzuki
新しい パスワード: # 「password」と入力
正しくないパスワード: このパスワードは辞書チェックに失敗しました - 辞書の単語に基づいています
新しい パスワードを再入力してください: # 「password」と入力
passwd: パスワードは正しく更新されました # 辞書チェックに引っかかるパスワードでも設定可能
・「exit
」コマンドを実行します。
一般ユーザーに戻ります。
root@ubuntu-vm:~# exit
ログアウト
user01@ubuntu-vm:~$
3.パスワードの有効期限を設定する
・「passwd -x 30 suzuki
」コマンドを実行します。
suzukiユーザーのパスワードの有効期限を30日に設定します。期限が切れると、ユーザーはパスワードを変更する必要があります。
root@ubuntu-vm:~# passwd -x 30 suzuki
passwd: パスワード期限切れ情報を変更しました
4.パスワードの有効期限を無期限に設定する
・「passwd -x -1 suzuki
」コマンドを実行します。
suzukiユーザーのパスワードの有効期限を無期限に設定します。
root@ubuntu-vm:~# passwd -x -1 suzuki
passwd: パスワード期限切れ情報を変更しました
まとめ
「passwd
」コマンドは、ユーザーアカウントのセキュリティを確保するための重要なツールです。一般ユーザーは自身のパスワードを変更する際に現在のパスワードを入力する必要がありますが、rootユーザーは他のユーザーのパスワードを自由に設定および変更できます。また、パスワードの有効期限や警告期間などの管理も可能です。