我有一台连接到 LDAP 的 Solaris 机器正在运行。用户可以使用存储在 LDAP 中的凭据登录。当用户忘记他/她的密码时,我可以在 LDAP 中重置密码,并在成功登录(终端和 GUI)后强制用户选择新密码。
使用 PAM 在 CentOS 上尝试此操作不起作用(登录屏幕只是拒绝密码,好像密码错误)或者我不太确定如何配置 PAM。
/etc/pam.d/password-auth-ac
看起来像这样:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_unix.so try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_ldap.so
/etc/nsswitch.conf
看起来像这样:
passwd: files sss ldap
shadow: files sss ldap
group: files sss ldap
netgroup: files sss ldap
...
我已经查看了 Solaris 机器上的配置,但那东西很古老......
再说一次,我需要的是当用户使用他/她的密码成功登录时,终端会要求用户立即更改密码。任何帮助是极大的赞赏。