我们已经在RHEL上安装了Winbind / Kerberos进行AD身份validation。 正常工作,但我注意到,当密码过期,我们得到一个警告,但shell访问仍然被授予。
处理这个问题的正确方法是什么? 一旦发现密码过期,我们可以告诉PAMclosures会话吗?
例:
login as: ad-user [email protected]'s password: Warning: password has expired. [ad-user@server ~]$
/etc/pam.d/system-auth的内容:
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_krb5.so use_first_pass auth sufficient pam_winbind.so use_first_pass auth required pam_deny.so account [default=2 success=ignore] pam_succeed_if.so quiet uid >= 10000000 account sufficient pam_succeed_if.so user ingroup AD_Admins debug account requisite pam_succeed_if.so user ingroup AD_Developers debug 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_krb5.so account [default=bad success=ok user_unknown=ignore] pam_winbind.so account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok password sufficient pam_krb5.so use_authtok password sufficient pam_winbind.so use_authtok password required pam_deny.so session [default=2 success=ignore] pam_succeed_if.so quiet uid >= 10000000 session sufficient pam_succeed_if.so user ingroup AD_Admins debug session requisite pam_succeed_if.so user ingroup AD_Developers debug session optional pam_mkhomedir.so umask=0077 skel=/etc/skel session optional pam_keyinit.so revoke session required pam_limits.so session optional pam_mkhomedir.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_krb5.so
我们需要知道您login的用户的数字用户信息,以了解确切信息。 接下来是猜测。
授权locking通常发生在account堆栈中,所以我们先看看那里。 终止模块堆栈的条目立即被怀疑。 我在这里看不到任何地方,所以有sufficient的线是我们需要关注的。 这让我们专注于堆栈顶部的这些行:
account [default=2 success=ignore] pam_succeed_if.so quiet uid >= 10000000 account sufficient pam_succeed_if.so user ingroup AD_Admins debug account requisite pam_succeed_if.so user ingroup AD_Developers debug 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
/etc/passwd中还有一个条目,则帐号堆栈将在第6行成功终止。 auth堆栈中的大于等于500,这不可能是罪魁祸首) 以上所有情况都会导致帐户堆栈在执行pam_krb5.so和pam_windbind.so的记帐检查之前终止。