web-dev-qa-db-ja.com

PAMを使用して、パスワード変更間の最小日数はどのように設定されますか?

私のAmazonLinux(RHEL派生)システムでは、/ etc/login.defs内で、パスワード変更間の最小日数を1日に設定しました:PASS_MIN_DAYS 1

/etc/pam.d/にあるPAM構成ファイルでそれを行うべきだと思いました。しかし、そうするためのドキュメントが見つかりません。 PAMを使用してパスワードをいつ変更できるかを制御する方法はありますか?それは何ですか?

3

ユーザー固有のパスワードポリシーの設定:

1つのオプションは、ユーザーパスワードポリシーを変更することです-lchageコマンドを使用します。

以下のコマンドは、パスワードの変更の間に必要な最小日数を設定します。

lchage --mindays=<days> <username>

以下のコマンドを使用して、現在のポリシーを確認できます

lchage --list <username>

すべてのユーザーに共通のポリシー:

システム内のすべてのユーザーに共通のパスワードポリシーを設定するには、PASS_MIN_DAYSファイルの/etc/login.defs変数を編集する必要があります。

root@ubuntu:~# grep PASS_MIN_DAYS /etc/login.defs 
#   PASS_MIN_DAYS   Minimum number of days allowed between password changes.
PASS_MIN_DAYS   1

上記のgrepリストは、パスワード変更の間に必要な最小日数が1であることを示しています。

最小日数が設定される前にユーザーがパスワードをリセットしようとすると、以下のエラーが発生します。

$ passwd
Changing password for test.
(current) UNIX password: 
You must wait longer to change your password
passwd: Authentication token manipulation error
passwd: password unchanged

ユーザーの作成中、/etc/login.defsで定義されたポリシーが作成中のユーザーに適用されます。ここでも、lchage --listコマンドを使用して現在のポリシーを確認できます。

1
Shubhangi

あなたは興味深い質問をします。 login.defsのマニュアルページによると、pass_min_daysパラメーターはアカウント作成時にユーザーにのみ適用されるため、一貫性を保つために/etc/pam.dを変更することをお勧めします。ただし、私の知る限り、標準のpam_unixモジュール(および程度は低いですがpam_cracklib.so)には、日付に関連するオプションがありません。/etc/pam.d /には何もない/ etc/shadowを操作するchageもあります。

最終的に、答えは、PAM引数を介してこの値を管理することはできないということだと思います。

1
Jesse K