我最近尝试使用 pam_cracklib 模块实现密码策略(至少一位数字、大写字母、小写字母、一个特殊字符)。之后,每当我尝试重置密码时,系统都会要求我重新输入两次密码。不确定我是否正确修改了配置文件。我在配置文件“common-password”中犯了什么错误吗?有人,请帮帮我。
以用户身份登录
$ passwd Changing password for testuser. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: Retype new password: passwd: password updated successfully
以用户身份登录
$ passwd testuser Enter new UNIX password: Retype new UNIX password: Retype new password: passwd: password updated successfully
以 Root 身份登录
$ sudo passwd testuser Enter new UNIX password: Retype new UNIX password: Retype new password: passwd: password updated successfully
我的配置文件内容可供参考。
$ grep "^[^#;]" /etc/pam.d/common-password
password [success=1 default=ignore] pam_unix.so obscure sha512 minlen=8 remember=7 shadow
password requisite pam_deny.so
password required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 use_authtok lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
答案1
更改此行:
password [success=1 default=ignore] pam_unix.so obscure sha512 minlen=8 remember=7 shadow
到:
password [success=1 default=ignore] pam_unix.so obscure use_authtok sha512 minlen=8 remember=7 shadow
我添加了 use_authtok
当密码更改时,强制模块将新密码设置为先前堆叠的密码模块提供的密码。