このエントリーをはてなブックマークに追加

概要

 あまり知られていないかもしれませんが、Linuxでもユーザパスワードに有効期限を設定することができます。 ただしこの機能を利用するためには、シャドウパスワードを使用している必要があります。

サーバ構築

設定例

 以下の例では user01 ユーザに対して次のような条件でパスワードの有効期限を設定しています。

  • パスワードを変更後、次に変更できるようになるまでの日数は0日間(つまりすぐに変更可)。
  • パスワードの有効日数は30日間。
  • パスワードの有効期限切れ後10日間パスワードを変更しなければアカウントがロックされる。
  • パスワードの有効期限切れを7日前からユーザに警告する。
# chage -m 0 -M 30 -I 10 -W 7 user01

 パスワードの有効期限の設定は /etc/shadow ファイルに記録されます。 設定変更後にこのファイルを確認すれば、正しく設定が反映されているか 確認することができます。

# grep user01 /etc/shadow
user01:$1$q6ITJi1U$uMvdum/d2AL4eXCfA455N1:14211:0:30:7:10::

 /etc/shadow は1ユーザ1行で設定情報が記録されています。 また、ユーザ毎に「:」(コロン)で区切られた9つのフィールドがあります。 各フィールドの設定内容は以下の通りです。

  • ユーザ名
  • 暗号化されたパスワード
  • 1970年1月1日から数えて最後にパスワードを変更した日までの日数
  • パスワードを変更後、次にパスワードを変更できるようになるまでの日数
  • パスワードの有効日数
  • パスワードの有効期限切れをユーザに警告する日数
  • パスワードの有効期限切れ後、アカウントがロックされるまでの日数
  • 1970年1月1日から数えてアカウントがロックされるまでの日数
  • 未使用