OpenLDAP - 修复或恢复损坏的目录

发布日期:2026-07-18 17:38:03  来源 : 杭州电子商务研究院    作者 :·考克斯    浏览量 :0
·考克斯 杭州电子商务研究院 发布日期:2026-07-18 17:38:03  
0

让我们讨论一下 OpenLDAP。LDAP 是一件很棒的事情,但是当你过度依赖它时,砰!你就完蛋了。系统重启后它不会重新启动,它不允许使用你知道昨天还有效的帐户进行身份验证,或者更糟的是,你的本地服务器登录似乎挂起或完全超时。那么我们该怎么办?首先,你必须登录。如果你不幸将本地服务器登录绑定到 LDAP 并且它们不再起作用(你确实有几个具有管理员权限的本地帐户,对吧?),你要么必须使用备份本地帐户,要么使用 root 帐户,要么在单用户模式下重新启动系统并以 root 身份登录。如果你不知道如何做这些事情,我们可以在另一个时间访问该主题。为了我们的练习,让我们假设你以提升的权限登录到 LDAP 服务器本身。以下是一些可以尝试的事情: 

典型腐败

  • 停止 LDAP 服务器/etc/init.d/ldap stop
  • 使用调试标志手动运行守护进程,以便我们可以看到发生了什么(注意:如果您在初始设置期间指定了加密,请将端口 389 替换为 636)/usr/sbin/slapd -u ldap -h ldap://127.0.0.1:389/ -d 256
您可能会在这里得到很多东西,如果您看到许多错误或目录似乎已损坏,您将能够分辨出来,因为它可能会在“数据库启动”处停止并挂起。如果它没有自行死机,您将不得不“CTRL-C”。
  • 执行恢复(注意:根据目录中记录的大小和数量,此过程可能需要一些时间)/usr/sbin/slapd_db_recover -h /var/lib/ldap
  • 最后重新启动 LDAP 服务器/etc/init.d/ldap start

休斯顿,我们有问题

有时,LDAP 会因多种原因(文件系统损坏、LDAP 更新或优化期间系统断电等)而严重损坏,以至于上述步骤无法解决问题。我们将不得不采取一些更激烈的步骤。虽然您可以以“root”用户身份在本地登录来执行这些步骤,但如果可能的话,我建议启动到单用户模式。
  • 停止 LDAP 服务器/etc/init.d/ldap stop
  • 备份现有结构的时间(注意:如果您在安装期间自定义了 LDAP 位置,则下面显示的路径可能不适合您的情况,下面显示的路径是 OpenLDAP 安装上的默认目录位置)tar cvf ldap.bkup.tar /var/lib/ldap/*
  • 现在我们将尝试另一次恢复;它可能不会比初次尝试更进一步,但它将为以下步骤适当地标记文件/usr/sbin/slapd_db_recover -h /var/lib/ldap
  • 构建一个包含要恢复的结构的 LDIF 文件(注意:如果您在此处收到错误,则可能需要删除除“dn2id”和“id2entery”之外的所有 BDB 文件才能完成命令 - 我们有备份以防万一)slapcat > ldap.restore.ldif
  • 验证我们新创建的定义文件是否包含目录条目(在文本编辑器中查看)。如果不包含(通常会导致文件非常小或“零字节”),我们可以尝试在更深层次上运行恢复例程,以从严重损坏中恢复/usr/sbin/slapd_db_recover -h /var/lib/ldap -v -c
  • 如果没有错误(不太可能出现错误,因为这样可以正常工作,或者当您重复该例程时,我们仍会得到一个空的 LDIF),则重复上一步以创建上述备份 LDIF
  • 现在,删除损坏的 LDAP 目录,如下所示(注意:不要惊慌,我们在开始之前已经备份了所有内容)rm -rf /var/lib/ldap/*
  • 需要使用一些基本信息重新创建 DB_CONFIG 文件echo -en 'set cachesize 0 15000000 1nset_lg_bsize 2097152n' > /var/lib/ldap/DB_CONFIG
  • 尝试将备份的 LDIF 文件加载回目录slapadd -l ldap.restore.ldif
  • 确保所有权正确chown -R ldap:ldap /var/lib/ldap
  • 划掉相应的数字,重启服务器/etc/init.d/ldap start

最后评论

在大多数情况下(我发现五分之四),第一组步骤足以从正常的损坏原因中恢复目录。如果发生严重损坏,在您开始考虑尝试从备份中恢复之前,更长的一系列步骤应该可以挽救大部分(如果不是全部)目录。典型的备份方案(磁带、磁盘等)将无法产生可恢复的 LDAP 结构,因为文件在复制时处于不一致的状态。每晚转储记录并设置到备份位置并可以轻松恢复始终是一个好主意。如果有人感兴趣,我们可以探索其中一些步骤以及如何设置 OpenLDAP。请在下方发表评论和提问,祝你好运。
以上内容来自杭州电子商务研究院推送
分享到:

长按或扫码识别 分享给好友

长按或扫码识别 分享给好友
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据