Ubuntu Server 16.04LTS でパスワード品質要件を実装する作業を行っています。要件を設定した 'pwquality.conf' と、スタックに pam_pwquality.so を追加するための '/etc/pam.d/common-password' を設定しました。明らかに不適切なパスワードを使用しているユーザーのパスワードを変更しようとすると、要件を満たしていないというエラーが返されますが、それでも承認されます。
これが私の共通パスワード設定です:
password requisite pam_pwquality.so retry=2
password [success=1 default=ignore] pam_unix.so obscure sha512 rounds=5000 remember=5
password requisite pam_deny.so
password requisite pam_permit.so
password optional pam_encrypt.so
明らかに要件を満たしていないパスワードを変更するプロセスは次のとおりです。
#sudo passwd test
New password:
BAD PASSWORD:The password contains less than 1 digits
Retype new password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
ご協力いただければ幸いです。ありがとうございます!
答え1
ユーザー test のユーザー空間内でパスワードを変更しようとしましたか? sudo/root 経由で変更しようとすると、pam_pwquality.so 呼び出しの後ろに追加の「enforce_for_root」を配置しない限り、ルールがバイパスされます。
次の操作を行う必要があります。
#> su test -
#> passwd
その後も品質が強制されない場合は、設定に何らかの追加のエラーがあるはずです。
答え2
次のenforce_for_rootフレーズを追加します。これにより、パスワードを構成するのがrootユーザーであっても、パスワードポリシーが遵守されるようになります。