【Linux】passwdコマンドでパスワードの変更と有効期限管理を行う

目次

概要

ユーザーアカウントのパスワードを変更、設定、または管理するためのコマンドです。

一般ユーザーは自分のパスワードのみを変更できますが、システム管理者(root)は全てのユーザーのパスワードを設定・変更できるほか、パスワードの有効期限の設定、アカウントのロック、パスワードの削除(空パスワード化)といった高度なセキュリティ管理を行うことができます。

仕様(引数・オプション)

構文

passwd [オプション] [ユーザー名]

主なオプション

オプション説明
-d / –deleteパスワードを削除し、パスワードなしでログインできるようにします(設定に依存)。
-e / –expireパスワードを直ちに期限切れにし、次回ログイン時に強制的に変更させます。
-i [日数] / –inactiveパスワード期限切れ後、アカウントが完全に無効化されるまでの猶予日数を設定します。
-S / –statusアカウントのパスワード状態(ロック有無、暗号化方式、日付など)を表示します。
-w [日数] / –warningパスワード有効期限が切れる何日前から警告を表示するかを設定します。
-x [日数] / –maxdaysパスワードを変更してから次に変更が必要になるまでの最大有効日数(有効期限)を設定します。

基本の使い方

一般ユーザーが自分のパスワードを変更する場合と、管理者が特定のユーザーのパスワードを変更する場合の基本操作です。

BASH

# 一般ユーザーが自分のパスワードを変更する(現在のパスワード入力が必要)
passwd

# rootユーザーが自分のパスワードを変更する
sudo passwd

# 管理者がユーザー 'mori' のパスワードを強制変更する(現在のパスワードは不要)
sudo passwd mori

実行結果例(他人のパスワード変更時)

Changing password for user mori.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

実践コマンド

パスワードを削除(無効化)してステータスを確認する

特定のユーザーのパスワードを削除し、パスワード入力なしでログインできる状態(またはログイン不可、PAM設定による)にします。あわせてステータスを確認します。

BASH

# ユーザー 'mori' のパスワードを削除
sudo passwd -d mori

# ステータスを確認
sudo passwd -S mori

実行結果例(-S 出力)

mori NP 2026-01-26 0 99999 7 -1 (Password set, no password required.)

NP (No Password) や PS (Password Set) などのステータスが表示されます。

次回ログイン時にパスワード変更を強制する

新規アカウント作成時など、管理者が仮パスワードを設定した後、ユーザー自身に新しいパスワードを決めさせたい場合に使用します。-e オプションを使用すると、即座に「期限切れ」状態になります。

BASH

# ユーザー 'mori' のパスワードを期限切れにする
sudo passwd -e mori

実行結果例(ユーザー ‘mori’ の次回ログイン時)

login: mori
Password: 
You are required to change your password immediately (root enforced)
WARNING: Your password has expired.
You must change your password now and login again!
Current password: 
New password: 
Retype new password: 

カスタムポイント

  • パイプを使った自動化スクリプト内でパスワードを設定する場合、対話モードを避けるためにパイプを使用することがあります(セキュリティ上のリスクは伴います)。Bashecho "mori:NewPassword123" | sudo chpasswd またはBashecho "NewPassword123" | sudo passwd --stdin mori --stdin オプションはディストリビューションによりサポートされていない場合があります。

注意点

  1. パスワードポリシーシステムの設定(/etc/login.defs や PAM設定)により、短すぎるパスワードや辞書に含まれる単語などは拒否される場合があります。root権限で実行した場合はこれらのチェックを無視して強制設定できることが多いですが、一般ユーザーによる変更では厳格に適用されます。
  2. ロックとの違い-d(削除)はパスワードを「空」にする操作であり、アカウントを「ロック(ログイン禁止)」する usermod -Lpasswd -l とは意味が異なります。パスワードなしログインを許可していないシステムで -d を実行すると、そのユーザーはログインできなくなる可能性があります。

まとめ

passwdコマンドは、単なる「パスワード変更ツール」にとどまらず、有効期限や警告期間の設定を通じてシステムのセキュリティポリシーを具現化するための重要な管理コマンドです。特に -e オプションによる変更強制は、初期パスワードの配布運用において必須の機能となるため、管理者として確実にマスターしておくべき操作の一つです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次