我有pam_radius设置和它的工作(centos6,pam_radius:1.4.0-2.el6),我可以通过使用ssh的radius服务器进行身份validation。 我试图完成的是,当服务器不能回退到本地帐户。 这两个密码是不同的(本地与AD),因为AD具有更严格的密码更改策略。 我尝试了一些东西:/etc/pam.d/sshd
validation足够的pam_radius_auth.sodebugging
auth包含password-auth
现在,只要radius服务器(如“/etc/pam_radius.conf”中定义的)不可用(在pam_radius.conf中使用了错误的IP),它就会工作。
挑战从radius服务器实际可用时开始,我可以使用radius和本地身份validation凭证login。
我有两个问题。
1.我误解了(PAM)模块故障,失败也可能是validation失败,如错误的密码,或者当用户无效或在AD服务器上。 什么是模块故障?
2.有没有办法像我想要设置一样? 即只有当radius服务器连接失败时才回退到本地authentication?
或者,也许正常的方法是没有本地密码,并使用不是AD帐户的后备帐户,以便当所有的东西都失败时,可以使用这个帐户。 那么问题就变成了如何在半径可用时防止使用这个帐户的人。
- 我误解了(PAM)模块故障,失败也可能是validation失败,如错误的密码,或当用户不是有效的或在AD服务器上存在。 什么是模块故障?
在这种情况下的失败意味着“模块返回success以外的任何状态”。 错误列表可以在man pam.conffind,或者在/usr/include/security/_pam_types.h 。
最常见的失败是未能通过身份validation。
- 有没有办法像我想build立起来一样呢? 即只有当radius服务器连接失败时才回退到本地authentication?
如果您想要特定于某种types的错误的行为 ,则有两个要求:
问题1是棘手的,但可以克服。 问题#2需要更多的研究。 无论是模块必须logging它将返回的确切的错误,在哪些情况下,或者你必须自己弄清楚。 后者通常涉及通过源代码进行挖掘。
研究这个PAM模块的确切行为超出了问题的直接范围,而且此刻我还有点时间不够。 🙂