ldap_modify:访问权限不足(50)

ldap_modify:访问权限不足(50)

我正在运行一个使用 SSL 服务进行通信的 OpenLDAP 2.4 服务器。它适用于查找。

我正在尝试添加镜像模式复制。

这是我正在执行的命令:

ldapmodify -D "cn=myuser,dc=mydomain,dc=com" -H ldaps://myloadbalancer -W -f /etc/ldap/ldif/server_id.ldif

这是我的 server_id.ldif:

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 myserver1
olcServerID: 2 myserver2

这是我的 slapd.d 文本文件树中的 cn\=config.ldif:

dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcPidFile: /var/run/slapd/slapd.pid
olcToolThreads: 1
structuralObjectClass: olcGlobal
entryUUID: ff9689de-c61d-1031-880b-c3eb45d66183
creatorsName: cn=config
createTimestamp: 20121118224947Z
olcLogLevel: stats
olcTLSCertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSCertificateKeyFile: /etc/ldap/certs/ldapskey.pem
olcTLSCACertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSVerifyClient: never
entryCSN: 20121119022009.770692Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20121119022009Z

但不幸的是我得到了这个:

Enter LDAP Password: 
modifying entry "cn=config"
ldap_modify: Insufficient access (50)

如果我尝试指定配置数据库,我会得到以下信息:

ldapmodify -H 'ldaps://myloadbalancer/cn=config' -D "cn=myuser,cn=config" -W -f ./server_id.ldif 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49)}

有人知道如何将 serverID 添加到配置数据库以便完成镜像模式的设置吗?

答案1

这正是它所说的。您的 DNcn=myuser,dc=mydomain,dc=com没有足够的权限来修改cn=config树。当您尝试“指定配置数据库”时,您使用的是完全不同的 DN,cn=myuser,cn=config显然它不存在或您使用了错误的密码。

要进行此类修改,您需要使用具有足够权限来修改各种数据库的帐户。在属性中指定“admin”帐户(即始终具有所有权限的帐户),olcRootDN其密码可在 中找到olcRootPW。对于cn=config数据库,这些属性可在 中找到olcDatabase={0}config,cn=config;对于“常规”数据库(通常为 HDB 类型),可在 中找到olcDatabase={1}hdb,cn=config

您遵循了哪个教程或文档?您似乎并不完全了解自己在这里所做的事情。

答案2

由于我遇到了类似的问题,我尝试了一个非常有趣的解决方案,但无济于事。与 Lynn Owens 的情况相反,我无法在 中为管理员添加密码olcDatabase={0}config,cn=config。我最终设法cn=config使用以下命令修改了我的密码:

ldapmodify -Y EXTERNAL -H ldapi:/// -f somefile.ldif

答案3

感谢 Chicken Suop!最后,我能够在 cn=config 中修改日志级别,如下所示:

$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// <<EOF
dn:           cn=config
changetype:   modify
replace:      olcLogLevel
olcLogLevel:  256
EOF

我在这里发布答案,而不是这个答案的评论因为要显示上面的代码标志。

相关内容