chage コマンドは、Linux システム上のユーザーアカウントにおける パスワードの有効期限や更新ポリシー を設定・確認するためのコマンドです。
実務では、セキュリティ強化のためにパスワード更新を一定期間ごとに強制したり、有効期限を制御する際に利用されます。
構文(Syntax)
chage [オプション] USER
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
-l | パスワード有効期限情報を表示 | chage -l alice |
-M DAYS | パスワードの最大有効日数を設定 | sudo chage -M 90 alice |
-m DAYS | パスワードの最小使用日数を設定 | sudo chage -m 7 alice |
-W DAYS | 有効期限前の警告日数を設定 | sudo chage -W 14 alice |
-E DATE | アカウントの有効期限を設定(YYYY-MM-DD または日数) | sudo chage -E 2025-12-31 alice |
-I DAYS | パスワード期限切れ後、無効化されるまでの日数 | sudo chage -I 30 alice |
実行例
ユーザーのパスワード有効期限を確認
chage -l alice
出力例:
Last password change : Aug 21, 2025
Password expires : Nov 19, 2025
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
パスワードの有効期限を90日に設定
sudo chage -M 90 bob
出力なし → bob のパスワードは 90日ごとに変更が必要になる
アカウントの有効期限を設定
sudo chage -E 2025-12-31 charlie
出力なし → charlie のアカウントは 2025-12-31 に無効化される
パスワード失効後30日でアカウント無効化
sudo chage -I 30 dave
出力なし → dave のパスワード期限切れ後 30日でログイン不可になる
エラー例(sudoなしで設定変更)
chage -M 90 eve
出力例:
chage: Permission denied.
関連コマンド
passwd: ユーザーパスワードを設定・変更usermod: ユーザー情報の変更(グループ、シェルなど)useradd: 新規ユーザー作成時に有効期限を設定可能faillog: ログイン失敗情報を管理
備考
- 設定は
/etc/<shadow> に反映されます。 -lは一般ユーザーでも利用可能ですが、変更にはsudo権限が必要です。- セキュリティポリシーの一環として企業環境でよく利用されます。
- アカウントの有効期限とパスワードの有効期限は別に管理される点に注意が必要です。
参考
- manページ: man7.org chage(1)
- Shadow-utils プロジェクト: https://github.com/shadow-maint/shadow

コメント