最後のパスワードの使用を防ぎ、パスワードの複雑さを維持したいと思います。
しかし、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
(たとえば、元のパスワードの変更など)。pwhistory
pwquality
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モジュールのスタックの例で使用されます)。