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

スポンサーリンク

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

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

スポンサーリンク

chageコマンドの利用例

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

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ファイルについては以下のコマンドで確認できます。

man 5 shadow

 

 

 

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

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

コマンド例と実行結果

 

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

コマンド例と実行結果

 

 

 

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

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

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

項目とオプションの対応

オプション ロングオプション 項目
-m day --mindays Minimum Password Age
-M day --maxdays Maximum Password Age
-d YY-MM-DD --lastday Last Password Change
-W day --warndays Password Expiration Warning
-I day --inactive Password Inactive
-E YY-MM-DD --expiredate Account Expiration Date

 コマンド例と実行結果

 

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