ldap_modify:对cn = config的访问权限不足(50)为-H ldapi:/// -Y EXTERNAL

我正在build立第二个LDAP服务器。 我已经使用slaptestslapd.conf转换为slapd.d数据库。 我正在尝试应用这个LDIF:

 # cat loglevel.ldif dn: cn=config changetype:modify replace: olcLogLevel olcLogLevel: any 

出现这个错误:

 # ldapmodify -H ldapi:/// -Y EXTERNAL -D 'cn=config' -f loglevel.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "cn=config" ldap_modify: Insufficient access (50) 

ldapwhoami输出:

 # ldapwhoami -Y EXTERNAL -H ldapi:/// SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 dn:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth 

slapcat -n0configuration数据库slapcat -n0

 dn: olcDatabase={0}config,cn=config objectClass: olcDatabaseConfig olcDatabase: {0}config olcAccess: {0}to * by * none olcAddContentAcl: TRUE olcLastMod: TRUE olcMaxDerefDepth: 15 olcReadOnly: FALSE olcRootDN: cn=admin,cn=config olcRootPW:: c2VjcmV0 olcSyncUseSubentry: FALSE olcMonitoring: FALSE structuralObjectClass: olcDatabaseConfig entryUUID: a00805da-2405-1035-8da5-7568f1e7aea1 creatorsName: cn=config createTimestamp: 20151120190701Z entryCSN: 20151120190701.894877Z#000000#000#000000 modifiersName: cn=config modifyTimestamp: 20151120190701Z 

我如何使命令工作?

我需要做些什么来启用-Y EXTERNAL机制?

我是否需要更改cn=configolcRootDN属性? 我可以尝试使用/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif文件中的文本编辑器来更改它。

您当前的rootdn是cn=admin,cn=config ,而您当前的rootpw是“secret”。

SASL / EXTERNAL已启用并正在运行。 但是,您的cn=config数据库cn=config不会给root (又名gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth任何特殊权限。

要将您的rootdn转换为本地根目录,您应该运行以下命令或其等效命令。

 ldapmodify -D cn=admin,cn=config -w secret -H ldapi:/// <<EOF dn: olcDatabase={0}config,cn=config replace: olcrootdn olcrootdn: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth - delete: olcrootpw - EOF