Linuxコマンド辞典 chageコマンド(ユーザ/グループ管理)

ユーザのパスワード有効期限を設定/表示するchageコマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

パスワードの有効期限を設定したり、アカウントが無効になる日付を設定したりします。ユーザ名のみ指定して実行すると、そのユーザの設定を対話的に変更できます。

書式

$chage [オプション] ユーザ名

オプション

-d 変更日
–lastday 変更日
パスワードの最終変更日を指定する。
1970年1月1日からの日数、もしくはYYYY-MM-DD形式で指定する。
-E 無効化日
–expiredate 無効化日
アカウント期限切れの日を指定する。-dと同様の日数もしくは日付形式で指定する。
-I 日数
–inactive 日数
パスワードを期限切れ後にロックする日数指定する。-1を指定すると無効にならない
-l ユーザ名
–list ユーザ名
指定したユーザのアカウント経時情報を表示する。
-m 日数
–mindays 日数
パスワードが変更できるまでの最短日数を指定する。0ならいつでも変更できる。
-M 日数
–maxdays 日数
パスワードが変更できる期間の最長日数を指定する
-W 日数
–waringdays 日数
期限切れ警告する日数を指定する

対話形式で変更

パスワードやアカウントの有効期限等を対話形式で変更することができます。

管理者権限

$chage ユーザ名

実行結果

[root@i-host ~]# chage taro
Changing the aging information for taro
Enter the new value, or press ENTER for the default

        Minimum Password Age [7]: 
        Maximum Password Age [10]: 
        Last Password Change (YYYY-MM-DD) [2022-04-01]: 
        Password Expiration Warning [11]: 
        Password Inactive [20]: 
        Account Expiration Date (YYYY-MM-DD) [2022-03-31]: 
[root@i-host ~]# 

ユーザアカウントの有効期限を設定/変更

-Eオプションを使用します。また、引数のdaysは、有効期限の日付を「YYYY/MM/DD(年/月/日)」の形式で指定する方法と、1970年1月1日を起算日にして、日数を指定する方法があります。

管理者権限

$chage -E days ユーザ名

実行結果

[root@i-host ~]# chage -l taro
Last password change                                    : Jan 01, 2021
Password expires                                        : Jan 29, 2021
Password inactive                                       : Jan 29, 2021
Account expires                                         : Dec 08, 57331
Minimum number of days between password change          : 3
Maximum number of days between password change          : 28
Number of days of warning before password expires       : 7
[root@i-host ~]# chage -E 2022/03/31 taro
[root@i-host ~]# chage -l taro
Last password change                                    : Jan 01, 2021
Password expires                                        : Jan 29, 2021
Password inactive                                       : Jan 29, 2021
Account expires                                         : Mar 31, 2022 ←変更
Minimum number of days between password change          : 3
Maximum number of days between password change          : 28
Number of days of warning before password expires       : 7
[root@i-host ~]# 

パスワードを変更するまでの最小日数を指定する

初期値は「0」であり、ユーザはいつもでもパスワードが変更できるようになっています。-mオプションと引数daysに変更までの最低日数を指定します。

管理者権限

$chage -m days ユーザ名

実行結果

[root@i-host ~]# chage -l taro
Last password change                                    : Jan 01, 2021
Password expires                                        : Jan 29, 2021
Password inactive                                       : Jan 29, 2021
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 3
Maximum number of days between password change          : 28
Number of days of warning before password expires       : 7
[root@i-host ~]# chage -m 7 taro
[root@i-host ~]# chage -l taro
Last password change                                    : Jan 01, 2021
Password expires                                        : Jan 29, 2021
Password inactive                                       : Jan 29, 2021
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 7 ←変更
Maximum number of days between password change          : 28
Number of days of warning before password expires       : 7
[root@i-host ~]# 

パスワードを変更するまでの最大日数を指定する

特に指定しなかった場合は、ユーザー追加時にパスワード有効期限は「99999(日)」になっています。-Mオプションと引数daysに変更までの最大日数を指定します。

管理者権限

$chage -M days ユーザ名

実行結果

[root@i-host ~]# chage -l taro
Last password change                                    : Jan 01, 2021
Password expires                                        : Jan 29, 2021
Password inactive                                       : Jan 29, 2021
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 7
Maximum number of days between password change          : 28
Number of days of warning before password expires       : 7
[root@i-host ~]# chage -M 10 taro
[root@i-host ~]# chage -l taro
Last password change                                    : Jan 01, 2021
Password expires                                        : Jan 11, 2021
Password inactive                                       : Jan 11, 2021
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 7
Maximum number of days between password change          : 10 ←変更
Number of days of warning before password expires       : 7
[root@i-host ~]# 

パスワードの有効期限を変更

パスワードの最終更新日までの日数を変更することもできます。-dオプションと引数のdaysは、最終更新日の日付を「YYYY/MM/DD(年/月/日)」の形式で指定します。

管理者権限

$chage -d days ユーザ名

実行結果

[root@i-host ~]# chage -l taro
Last password change                                    : Jan 01, 2021
Password expires                                        : Jan 11, 2021
Password inactive                                       : Jan 11, 2021
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 7
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 7
[root@i-host ~]# chage -d 2022/04/01 taro
[root@i-host ~]# chage -l taro
Last password change                                    : Apr 01, 2022 ←変更
Password expires                                        : Apr 11, 2022 ←自動的に変更
Password inactive                                       : Apr 11, 2022 ←自動的に変更
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 7
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 7
[root@i-host ~]# 

パスワードを変更するまでの最大日数を指定すると、その値を基に自動的にパスワードの有効期限が設定されます。

パスワードの有効期限の警告メッセージを表示する期限を変更

有効期限が近付いたとき、該当のユーザに警告メッセージを自動的に送付するようにできます。これは-Wオプションを使用します。また、引数daysには有効期限の何日前にメッセージを表示するかの日数をしています。

管理者権限

$chage -W days ユーザ名

実行結果

[root@i-host ~]# chage -l taro
Last password change                                    : Apr 01, 2022
Password expires                                        : Apr 11, 2022
Password inactive                                       : Apr 11, 2022
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 7
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 7
[root@i-host ~]# chage -W 11 taro
[root@i-host ~]# chage -l taro
Last password change                                    : Apr 01, 2022
Password expires                                        : Apr 11, 2022
Password inactive                                       : Apr 11, 2022
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 7
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 11 ←変更
[root@i-host ~]# 

非活動期間の日数を変更

パスワードの有効期限を迎えると、アカウントはアカウントロック状態となります。パスワードの有効期限が切れたら即座にアカウントロックとなると困ることもあるので、有効期限からアカウントロックまでの間の猶予期間を設定することができます。-Iオプションと引数にdaysとして日数を指定します。

管理者権限

$chage -I days ユーザ名

実行結果

[root@i-host ~]# chage -l taro
Last password change                                    : Apr 01, 2022
Password expires                                        : Apr 11, 2022
Password inactive                                       : Apr 11, 2022
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 7
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 11
[root@i-host ~]# chage -I 3 taro
[root@i-host ~]# chage -l taro
Last password change                                    : Apr 01, 2022
Password expires                                        : Apr 11, 2022
Password inactive                                       : Apr 14, 2022 ←変更
Account expires                                         : Mar 31, 2022
Minimum number of days between password change          : 7
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 11
[root@i-host ~]# 

パスワード有効期限/アカウントの有効期限を表示する

管理者権限

# chage -l ユーザ名

chage -lコマンドで表示される情報

Last password change最終パスワード変更日時
Password expiresパスワードの有効期限(neverは設定なし)
Password inactiveパスワードの非活動期間(neverは設定なし)
Account expiresアカウントの有効期限(neverは設定なし)
Minimum number of days between password changeパスワード変更までの最小日数(0は設定なし)
Maximum number of days between password changeパスワード変更までの最大日数(9999は設定なし)
Number of days of warning before password expiresパスワード変更期限前警告日数

※ディストリビューションによっては項目や表示が異なるものもある。

実行結果

[root@i-host ~]# chage -l taro
Last password change                                    : Jan 01, 2021
Password expires                                        : Jan 29, 2021
Password inactive                                       : Jan 29, 2021
Account expires                                         : Dec 08, 57331
Minimum number of days between password change          : 3
Maximum number of days between password change          : 28
Number of days of warning before password expires       : 7