我正在努力在 Ubuntu Server 16.04LTS 中實現密碼品質要求。我已根據要求配置了“pwquality.conf”,並配置了“/etc/pam.d/common-password”以將 pam_pwquality.so 添加到堆疊中。當我嘗試使用明顯不合適的密碼來更改使用者的密碼時,它會傳回錯誤,指出它不符合要求,但無論如何都會批准它。
這是我的常用密碼設定:
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
您是否嘗試在使用者測試的使用者空間內變更密碼?如果您嘗試透過 sudo/root 變更它,則會繞過規則,除非您在 pam_pwquality.so 呼叫後面新增了額外的「enforce_for_root」。
您應該執行以下操作:
#> su test -
#> passwd
如果此後沒有強制執行質量,那麼您的配置中一定存在一些其他錯誤。
答案2
新增以下 enforce_for_root 短語:這可以確保即使是 root 使用者配置密碼,也能遵守密碼策略。