chageコマンドは、パスワードの有効期限の情報を設定したり、変更できます。このコマンドは基本的に管理者権限が必要なコマンドになります。
ただし、-lオプションで自身のアカウントでのパスワードの有効期限情報を確認する場合は管理者権限が必要ありません。
目次
chageコマンドの利用例
パスワードのすべての有効期限情報を対話的に設定
(オプションなし)
chageコマンドはオプションなしでパスワードのすべての有効期限情報を対話的に設定できます。
設定できる項目のそれぞれの意味は以下の表のようになります。
設定できる項目
項目 | 意味 |
Minimum Password Age | パスワードを変更してから指定した期間が過ぎるまでパスワードを変更できないようにする期間(日) 0で常に変更できる |
Maximum Password Age | パスワードを変更してからのパスワードの有効期間(日) |
Last Password Change | 最後にパスワードを変更した日付 |
Password Expiration Warning | パスワードの有効期限切れ前の何日前に注意喚起を行うかどうか |
Password Inactive | パスワードの有効期限を過ぎ、何日後にアカウントをロックするかどうか -1はパスワードの有効期限が切れても、アカウントをロックしない |
Account Expiration Date | アカウントの有効期限 -1でアカウントの有効期限なし |
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 10 11 12 |
$ sudo chage testuser Changing the aging information for testuser Enter the new value, or press ENTER for the default Minimum Password Age [0]: Maximum Password Age [99999]: 180 Last Password Change (YYYY-MM-DD) [2018-06-22]: Password Expiration Warning [7]: 14 Password Inactive [-1]: Account Expiration Date (YYYY-MM-DD) [-1]: $ sudo cat /etc/shadow | grep 'testuser' testuser:$6$jfvOhWGY$k/r2HHp9whpSOdKlU4Nl37krebLaeObvVx8HMickTFhcfNOeMjDMiHbGAPBmhTAaZ0u0i1Z61XBuYNJ.ISH7F1:17704:0:180:14::: |
chageコマンドで入力した情報はユーザのパスワードが保存される/etc/shadowファイルに保存されています。chageコマンドを利用するにはshadowファイルが必要になります。
shadowファイルについては以下のコマンドで確認できます。
shadowファイルについては以下のコマンドで確認できます。
man 5 shadow
パスワードの有効期限情報を確認
(-lオプション)
-lオプションを用いることでユーザのパスワードの有効期限情報を確認することができます。
コマンド例と実行結果
1 2 3 4 5 6 7 8 |
$ sudo chage -l testuser Last password change : 6月 22, 2018 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 |
また、自身のアカウントの場合は管理者権限が必要ありません。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 10 |
$ whoami ubuntu $ chage -l ubuntu Last password change : 6月 21, 2018 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 |
それぞれの項目を個別に設定
それぞれの項目はオプションを用いることで、非対話的に設定することができます。
対応するオプションは以下の表のようになります。
項目とオプションの対応
オプション | ロングオプション | 項目 |
-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 |
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ sudo chage -l testuser Last password change : 6月 22, 2018 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 $ $ sudo chage -m 1 -M 2 -d 2018-06-20 -W 3 -I 4 -E 2020-01-01 testuser $ sudo chage -l testuser Last password change : 6月 20, 2018 Password expires : 6月 22, 2018 Password inactive : 6月 26, 2018 Account expires : 1月 01, 2020 Minimum number of days between password change : 1 Maximum number of days between password change : 2 Number of days of warning before password expires : 3 $ $ sudo chage -E 1 testuser $ sudo chage -l testuser | grep '^Account' Account expires : 1月 02, 1970 |
アカウントの有効期限である-Eオプションに整数値を入力すると、0のときに1970年1月1日を基準としてその日数分が足された日付になります。
アカウントをロックしたい場合、単純に1のような数字を入力することでアカウントを有効期限切れにし、アカウントをロックできます。
アカウントをロックしたい場合、単純に1のような数字を入力することでアカウントを有効期限切れにし、アカウントをロックできます。