我们正在将一小部分网络脱机,并使用该部分运行单独的网络。(一小部分是指 2 台服务器,它们将连接到通常不属于我们网络的 30 多个盒子,并且不需要进行身份验证。)
我打算在其中一台服务器上创建一个虚拟机,以提供一般用户服务、IRC 服务器、远程 shell 等。我希望用户能够使用他们通常的服务器登录详细信息。问题是通常检查这些详细信息的 LDAP 服务器不是服务器之一。
所以我需要以某种方式从 LDAP 中获取他们的详细信息并将其放在即将到来的服务器上。
我的一个建议是在 VM 本地设置一个 LDAP 服务器,并将 LDAP 数据库克隆到该服务器上(使用名为 slapcat 的工具)。
这是最好的方法吗?或者我可以将 LDAP 数据更改为本地身份验证数据吗?
答案1
我假设您正在运行 slapd(Open LDAP)。为什么不像 EJP 建议的那样在新旧服务器之间设置复制(例如使用 syncrepl)?
这样一来,您就不必“复制”数据或将其复制到其他地方。在此处了解有关 syncrepl 的更多信息: http://www.openldap.org/doc/admin24/replication.html
在此处了解有关在两个 Open LDAP 服务器之间创建复制的更多信息: http://www.openldap.org/doc/admin22/syncrepl.html
答案2
您可以运行本地 LDAP 从属或代理。您没有提到您正在使用哪个 LDAP 服务器,但 OpenLDAP 支持多种复制模型,其中肯定有一种适合您的情况。
答案3
如果您只是暂时需要它并且您正在使用 PAM,则可以使用 pam_ccreds 或 pam_sss 来缓存身份验证数据,这样当 LDAP 服务器离线时这些数据也可用。如果您不是,您可以使用 slapcat 进行备份,然后使用 slapadd 将其恢复。我问过类似的问题: ldap 导出和导入