我尝试找到一种方法来关闭使用过期密码登录时出现的密码更改对话框。
“”警告:您的密码已过期。您必须立即更改密码并重新登录!更改用户 xyz 的密码。当前密码:“”
相反,用户不应该简单地拒绝。我在 sssd.conf 中设置chpass_provider = none
,并尝试了数十亿个 pam 配置,但都没有成功,我总是得到对话框。这是我的密码验证
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_sss.so use_first_pass
auth optional pam_afs_session.so
auth required pam_deny.so
account required pam_access.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_sss.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_sss.so use_authtok
password required pam_deny.so
session optional pam_mkhomedir.so umask=0077
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_sss.so
session required pam_afs_session.so
答案1
@sterni1971 - 我刚刚找到了一种修复此问题的方法,即拒绝用户更改密码,而不是允许他们更改密码。这需要使用 Kerberos,因此如果您没有使用 Kerberos(从您的原始帖子来看,您可能没有使用),那么抱歉...但希望它能帮助其他人。
查看fail_pwchange
选项pam_krb5
(参见:pam-krb5 文档)它可以在 /etc/krb5.conf 中设置,但我发现在 pam_krb5 行中设置它时它有效/etc/pam.d/sshd
auth sufficient pam_krb5.so forwardable renew_lifetime=30d ticket_lifetime=1d1h force_first_pass fail_pwchange