You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fedora系统中重置OpenLDAP管理员密码失败(权限不足)求助

Fedora系统中重置OpenLDAP管理员密码失败(权限不足)求助

兄弟,我之前在Fedora上折腾OpenLDAP的时候也碰到过一模一样的权限问题!先别慌,咱们一步步来排查和解决:

首先,你碰到的ldap_modify: Insufficient access (50)错误,大概率是两个原因:要么你指定的数据库DN不对,要么当前的LDAP访问控制规则限制了EXTERNAL身份的修改权限。

第一步:确认正确的数据库DN

不同的OpenLDAP安装方式,数据库的编号可能不一样(比如有的是{0}mdb,有的是{1}mdb),先执行这条命令列出所有数据库的配置条目:

ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcDatabase=*)' dn

找到对应你业务主数据库(关联dc=你的域名的那个)的DN,比如olcDatabase={1}mdb,cn=config,后续操作都要用这个正确的DN。

第二步:生成加密密码

先别直接用你之前写的固定加密串,用官方工具生成自己的密码更稳妥。比如你想设置新密码为mynewadminpass,执行:

slappasswd -s mynewadminpass

会输出类似{SSHA}abcdefghijklmnopqrstuvwxyz的加密字符串,复制好这个结果。

第三步:两种重置密码的方法

方法一:通过LDAP命令修改(优先尝试)

确保用root用户执行,并且指定正确的数据库DN:

sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// << EOF
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}你刚才复制的加密串
EOF

如果还是提示权限不足,说明当前的访问控制规则限制了EXTERNAL身份的修改权限,那就用更直接的方法二。

方法二:直接修改slapd配置文件

这个方法绕过LDAP访问控制,直接修改底层配置,更稳妥:

  1. 先停止slapd服务:
sudo systemctl stop slapd
  1. 找到对应数据库的配置文件,Fedora上默认在/etc/openldap/slapd.d/cn=config/目录下,比如olcDatabase={1}mdb.ldif,编辑这个文件:
sudo nano /etc/openldap/slapd.d/cn=config/olcDatabase={1}mdb.ldif
  1. 找到olcRootPW这一行,替换成你刚才生成的加密字符串,保存退出。
  2. 重启slapd服务:
sudo systemctl start slapd

额外排查点

如果还是不行,去看看slapd的日志,能找到更详细的错误原因:

journalctl -u slapd

比如是不是DN写错了,或者配置文件的权限不对(要确保文件属于ldap:ldap用户组)。

备注:内容来源于stack exchange,提问作者the_endian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 11:27:58