当 LDAP 服务器离线时如何使用 LDAP 凭据登录系统

当 LDAP 服务器离线时如何使用 LDAP 凭据登录系统

我有 Ubuntu 14.04 和 LDAP 作为身份验证中心。在 LDAP 服务器上线之前,它可以正常工作。有时 LDAP 和其他服务器之间的网络会出现故障,并且 LDAP 不可用,因此用户无法使用其 LDAP 凭据登录到服务器。

我已经安装了 nscd,并且在 LDAP 离线期间,像
getent passwd $userid 这样的命令成功运行。我尝试了互联网上的一些手册,例如: http://ubuntuforums.org/showthread.php?t=1708785 但这对我不起作用。

伙计们,您能否分享您的 LDAP 配置,该配置能够在 LDAP 离线期间提供使用 LDAP 凭据访问服务器的功能?

答案1

NSCD只能用于缓存 NSS 地图,例如密码团体等等,但它不处理任何 PAM 内容。

nss-pam-ldapd又名NSCD不缓存通过 PAM 传入的密码登录。

但这正是固态硬盘作用:它在在线模式下根据 LDAP 检查明文密码,并将加盐的 SHA-512 哈希值存储到其缓存数据库中。在离线模式下检查密码时使用此密码散列。

话虽如此,您必须更多地考虑现实世界的用例:

当旅行时在笔记本电脑上使用 Linux 时,密码缓存总是很有用,这是完美的用例固态硬盘

如果您的网络出现故障,您可能会遇到更普遍的麻烦。现在问问自己:

  • 尝试登录普通机器有意义吗?毫无疑问,您必须在某个地方工作来解决网络问题。但这是您集成 LDAP 的 Linux 系统吗?
  • 如果您在数据中心中重新部署了许多计算机,您以前是否曾在所有计算机上提供过密码?

有一个用例:如果由于某些奇怪的原因,例如本地网络驱动程序变得疯狂,并且您必须通过控制台(通过 BMC)登录才能解决此问题,那么拥有缓存的密码将很有用。

但在大多数情况下,您不需要或什至不能使用离线登录。

如果你坚持使用它,你可以使用 SSH紧急情况密钥,并对私钥进行适当的安全控制。

PS:是的,在数据​​中心的各个机架中拥有许多 LDAP 副本以避免此类中断是正确的做法。

答案2

虽然我还建议使用 sssd 中提到的客户端缓存,但您也可以通过使用 LDAP 副本来降低风险。

相关内容