在 RHEL7 服务器中,我必须实现两个可以描述为 PAM pam_pwquality 模块参数的密码策略:
- 密码必需 pam_pwquality.so try_first_pass local_users_only minlen=14
- 密码必需 pam_pwquality.so try_first_pass local_users_only dcredit=0 ucredit=0 ocredit=0 lcredit=0 minclass=3 maxsequence=1
此外,默认的 RHEL 7 PAM 配置已经包含以下 pam_pwquality 条目:
- 密码必需 pam_pwquality.so try_first_pass local_users_only retry=3
我需要将条目 3 的密码策略应用于所有用户,并将密码策略应用于名为 group1 和 group2 的两个不同的本地用户组。
为了应用这个要求,我在 /etc/pam.d/password-auth-ac 和 /etc/pam.d/system-auth-ac 默认 pam_pwquality 条目之后添加了以下代码(在这个问题中命名为 3.) :
password requisite pam_pwquality.so try_first_pass local_users_only minlen=14 # Default RHEL7 pam_pwquality.so entry
#BEGIN PWPOLICY 1
password [success=1 default=ignore] pam_succeed_if.so user notingroup group1
password requisite pam_pwquality.so try_first_pass local_users_only minlen=14 use_authtok
#END PWPOLICY 1
#BEGIN PWPOLICY 2
password [success=1 default=ignore] pam_succeed_if.so user notingroup group2
password requisite pam_pwquality.so try_first_pass local_users_only dcredit=0 ucredit=0 ocredit=0 lcredit=0 minclass=3 maxsequence=1 use_authtok
#END PWPOLICY 2
此配置按预期工作,但它的缺点是当用户(包括在 group1 和 group2 中)更改密码时,它需要重复多次,如以下示例所示:
[test@rhel7 ~]$ passwd
Changing password for user test.
Changing password for test.
(current) UNIX password:
New password:
Retype new password:
Retype new password:
Retype new password:
passwd: all authentication tokens updated successfully.
我最后两个 pam_pwquality 条目中包含的选项“use_authtok”似乎被忽略了。
您知道此配置或实现这些要求的其他方法有什么问题吗?