かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Linux:アクセス有効期限って、2種類あったんだね。って事に気が付いたんで、整理してみた。

以下のコマンドで、ユーザアカウントの有効期限の状態を確認できる。

chage --list ユーザー名

出力例

[kakisoft@localhost ~]$ chage --list kakisoft
Last password change                             : Aug 06, 2018
Password expires                                 : Sep 05, 2018
Password inactive                                : never
Account expires                                  : Dec 12, 2017
Minimum number of days between password change   : 0
Maximum number of days between password change   : 30
Number of days of warning before password expires: 7

出力例(日本語ver)

[kakisoft@localhost ~]$ chage --list kakisoft
最終パスワード変更日                    : 8月 06, 2018
パスワード期限:                        : 9月 05, 2018
パスワード無効化中                     : なし
アカウント期限切れ                     : 12月 12, 2018
パスワードが変更できるまでの最短日数     : 0
パスワードを変更しなくてよい最長日数     : 30
パスワード期限が切れる前に警告される日数 : 7

 
 
有効期限には、以下の2種類がある。

アカウントの有効期限

この日にちが経過すると、アカウントがロックされて使用不可となる。
パスワードの有効期限とは無関係。

(アカウント有効期限が切れたユーザでログインした時のメッセージ例)
Your account has expired; please contact your system administrator

以下のコマンドで、アカウントの有効期限を設定できる。

sudo chage -E YYYY-MM-DD ユーザ名

有効期限を無期限にするには、日付の代わりに -1 を入力する。

sudo chage -E -1 ユーザ名

「-E 0」と入力すると、有効期限が 1970/01/01 となり、ログインが出来なくなります。

パスワードの有効期限

この日にちが経過すると、登録したパスワードではアクセスできなくなる。

(パスワード有効期限が切れたユーザでログインした時のメッセージ例)
You are required to change your password immediately (root enforced)

※パスワードの変更が促される。

以下のコマンドで、パスワードの有効期限を変えることができる。

<パスワードの有効期限の指定(単位は日)。以下では有効期限を 30日に設定>
sudo chage -M 30 ユーザ名

-M以降の数字を「10000」以上にすると、パスワードの有効期限を無期限に設定できる。

有効期限が切れる日にちは、「Last password change(最終パスワード変更日)」を起点に、上記の日数を足した日付となる。 「Last password change(最終パスワード変更日)」は、以下のコマンドで変更できる。

sudo chage -d YYYY-MM-DD ユーザ名