centosで2つのpamパスワードモジュールを同時に設定する問題

centosで2つのpamパスワードモジュールを同時に設定する問題

最後のパスワードの使用を防ぎ、パスワードの複雑さを維持したいと思います。

しかし、pam_pwquality.soとpam_pwhistory.soの両方を使用すると、正しく機能しません。

たとえば、最小長を8に設定し、system-authファイルの最後の2つのパスワードを無効にしました。

password    requisite     pam_pwquality.so local_users_only retry=3 minlen=8
password    requisite     pam_pwhistory.so remember=2 retry=3

複雑さと一致する最後のパスワードを入力すると、pwhistoryが私をブロックしますが、それ以降は複雑でないようにパスワードを変更できます。 -> 2番目のモジュールにチェックが合格すると、1番目のモジュールは無効になりますか?

pwqualityとpwhistoryが逆転しても、状況は似ています。

password    requisite     pam_pwhistory.so remember=2 retry=3
password    requisite     pam_pwquality.so local_users_only retry=3 minlen=8

仕組みは次のとおりです。

$passwd

Enter the last password -> failed by pwhistory module

Enter short password -> failed by pwquality module

Enter the last password -> success regardless of pwhistory module

複雑さと最後のパスワード条件の両方を確認できませんか?

答え1

このパラメータは、他のパスワード変更モジュールと一緒に使用するときに必要であると思いますuse_authtok(たとえば、元のパスワードの変更など)。pwhistorypwquality

password    requisite     pam_pwquality.so local_users_only retry=3 minlen=8
password    requisite     pam_pwhistory.so remember=2 retry=3 use_authtok

pwhistory以下を使用してモジュールのマニュアルページを表示できます。

man pam_pwhistory

マニュアルページから抜粋:

_authtokの使用

パスワードが変更されると、モジュールは以前にスタックされたパスワードモジュールによって提供された新しいパスワードを使用するように強制します(これは以下のpam_cracklibモジュールのスタックの例で使用されます)。

関連情報