Ubuntu OS X LDAPauthentication

我只是按照这个指导如何设置Ubuntu的Mac OS X 10.4服务器进行身份validation。 我遵循100%的指导,并有能力通过运行看到用户

  getent passwd
和
 getent passwd(用户) 

哪个会拿出关于用户的所有正确的信息。 我的问题是,我希望这些用户能够通过login提示,这是不工作的login。 当我以本地用户身份login时,我得到了通常的用户名和密码提示,但是我得到了一个LDAP密码提示,我可以input任何内容并仍能成功login。

任何想法如何解决这个问题? 提前致谢!

更新:

如下所述,我是正确的LDAP设置是正确的,因为我可以看到所有使用getent passwd的LDAP用户,但是由于我不能使用susshgdmlogin这些用户,所以出现其他问题。

问题在于那个指南是错误的,或者至less是次优的。

/etc/pam.d/common-auth应该有:

validation足够的pam_unix.so nullok_secure节点
validation足够的pam_ldap.so use_first_pass
 auth需要pam_deny.so

即pam_unix或pam_ldap 足以login,并且任何login失败都会被拒绝。 它首先尝试本地unixlogin – 如果您的LDAP服务器closures或无法访问,并且仍然需要以本地用户身份login,这非常有用。

它也使用'use_first_pass'而不是'try_first_pass'…它们非常相似,只是如果第一个错误不会再次提示input密码。

有关更多详细信息,请参阅pam_unix和pam_ldap的手册页。

顺便说一句,添加以下到/etc/pam.d/common-session是非常有用的:

会话需要pam_limits.so

它允许你使用/etc/security/limits.conf和access.conf等来很好地控制哪些用户被允许login(例如,我限制服务器上的sshlogin到pipe理员组的成员),并设置资源限制(内存,maxlogins,漂亮的优先等等)为他们的login。

/etc/pam.d/common-(whatever)中的common_(whatever)是否正确? 同时检查这些和/etc/pam.d/login,确保没有标记为“必需”或“必需”的东西在上面。

另外,你是否编辑过/etc/ldap.conf和/etc/ldap/ldap.conf来反映你的ldap设置? 如果这些都不起作用,则可以尝试从失败的login中发布日志片段,并可能尝试从LDAP服务器上尝试的绑定中发布日志片断。

请注意,您可以看到getent passwd 中的用户这一事实并不意味着您已经正确设置了ldap。 这意味着你已经正确设置了nss_ldap。 身份validation由一个单独的模块pam-ldap完成。

你使用匿名绑定与您的LDAP服务器? 获取用户列表并根据LDAP服务器对其进行身份validation由2个独立的软件包处理。 你可以发布你的/etc/ldap.conf和任何相关的错误吗?