我正在build立第二个LDAP服务器。 我已经使用slaptest将slapd.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=config的olcRootDN属性? 我可以尝试使用/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