chage - パスワードの有効期限を設定・変更する

スポンサーリンク

chageコマンドは、パスワードの有効期限の情報を設定したり、変更できます。このコマンドは基本的に管理者権限が必要なコマンドになります。

ただし、-lオプションで自身のアカウントでのパスワードの有効期限情報を確認する場合は管理者権限が必要ありません。

パスワードのすべての有効期限情報を対話的に設定
(オプションなし)

chageコマンドはオプションなしでパスワードのすべての有効期限情報を対話的に設定できます。

設定できる項目のそれぞれの意味は以下の表のようになります。

設定できる項目

項目意味
Minimum Password Ageパスワードを変更してから指定した期間が過ぎるまでパスワードを変更できないようにする期間(日)
0で常に変更できる
Maximum Password Ageパスワードを変更してからのパスワードの有効期間(日)
Last Password Change最後にパスワードを変更した日付
Password Expiration Warningパスワードの有効期限切れ前の何日前に注意喚起を行うかどうか
Password Inactiveパスワードの有効期限を過ぎ、何日後にアカウントをロックするかどうか
-1はパスワードの有効期限が切れても、アカウントをロックしない
Account Expiration Dateアカウントの有効期限
-1でアカウントの有効期限なし

コマンド例と実行結果

chageコマンドで入力した情報はユーザのパスワードが保存される/etc/shadowファイルに保存されています。chageコマンドを利用するにはshadowファイルが必要になります。
shadowファイルについては以下のコマンドで確認できます。

パスワードの有効期限情報を確認
(-lオプション)

-lオプションを用いることでユーザのパスワードの有効期限情報を確認することができます。

コマンド例と実行結果

また、自身のアカウントの場合は管理者権限が必要ありません。

コマンド例と実行結果

それぞれの項目を個別に設定

それぞれの項目はオプションを用いることで、非対話的に設定することができます。

対応するオプションは以下の表のようになります。

項目とオプションの対応

オプションロングオプション項目
-m day--mindaysMinimum Password Age
-M day--maxdaysMaximum Password Age
-d YY-MM-DD--lastdayLast Password Change
-W day--warndaysPassword Expiration Warning
-I day--inactivePassword Inactive
-E YY-MM-DD--expiredateAccount Expiration Date

 コマンド例と実行結果

アカウントの有効期限である-Eオプションに整数値を入力すると、0のときに1970年1月1日を基準としてその日数分が足された日付になります。
アカウントをロックしたい場合、単純に1のような数字を入力することでアカウントを有効期限切れにし、アカウントをロックできます。