全ユーザーにパスワード有効期限を設定するには

 コマンドラインでパスワードに有効期限を設定するにはでは、1ユーザーのパスワードに有効期限を設定する方法を紹介したが、セキュリティを向上させるには全ユーザーに同様の有効期限を設けた方がいい。

 全ユーザーに対してパスワードの有効期限を設定するには、/etc/login.defsPASS_MAX_DAYSという項目を変更する。初期設定では、PASS_MAX_DAYSは「99999」が設定されている。これは「有効期限がない」ことを意味する。例えば、PASS_MAX_DAYSを「30」にすると、パスワードの有効期限は「30日」になる。

 また、PASS_WARN_AGEは「パスワードの有効期限が切れる前に、警告を表示する日数」で、デフォルトでは「7」が設定されている。これを「10」に変更すると、有効期限切れの10日前に警告のメッセージが表示されるようになる。

# useradd foo
# chage -l foo
Minimum:        0
Maximum:        30
Warning:        7
Inactive:       -1
Last Change:            11月 25, 2002
Password Expires:       12月 25, 2002 ←有効期限が切れる日
Password Inactive:      Never
Account Expires:        Never

 なお、/etc/login.defsの設定が有効になるのは、/etc/login.defsの変更後に新規作成したユーザーだ。従って、既存ユーザーのパスワードに有効期限を設定するには、chageコマンドを使用しなければならない。