某些用户的 LDAP 身份验证失败

某些用户的 LDAP 身份验证失败

发生了一些奇怪的事情,一些用户无法通过我们的 LDAP 进行身份验证来访问服务(SSH 连接、Samba 等)。

他们的条目在 LDAP 中,一切似乎都很好,我与 5 分钟前使用相同脚本创建的工作 LDAP 条目进行了比较,我能看到的唯一区别是 ID/时间戳(sambaPwdMustChange,等等……)

如果我这样做,getent passwd | grep "username"我会找到他们的记录,但 ssh username@localhost 会失败(但它再次适用于使用相同脚本创建的其他用户)

我的日志在这里 /var/log/ldap/slapd.d 显示错误消息

Apr  9 14:09:48 je nslcd[3293]: [2fc6ce] lookup of user uid=someone,ou=People,dc=something,dc=com failed: Invalid credentials

但是当我在 phpldapadmin 界面上检查他们的密码时,它确实与我输入的密码匹配。我尝试使用默认密码 123456789,该密码适用于使用相同脚本创建的其他用户。

有任何想法吗 ?

编辑1

进行身份验证

ldapwhoami -vvv -D "uid=someone,ou=People,dc=something,dc=com" -x -W

并且相关密码确实返回Success (0)

编辑2

针对同一 LDAP 对这些用户的身份验证在许多应用程序上都有效,例如使用 devise ldap-authenticatable gem 的 Dokuwiki 和 Rails 应用程序。只有 SSH 和 Samba 似乎有问题。

答案1

不久前我也遇到过类似的问题。当我查看时,/var/log/messages我发现 sshd 正在抱怨非法用户。如果是这种情况,即使您的密码正确,ssh 也不会让您登录。我的解决方案是重新启动 nscd

service nscd restart

话虽如此,getent 对您有用,所以这可能不是您的解决方案。

相关内容