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

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

我正在设置第二个 LDAP 服务器。我已使用将 转换slapd.conf为数据库。我正在尝试应用此 LDIF:slapd.dslaptest

# 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 -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机制吗?

我需要更改olcRootDN的属性吗cn=config?我可以尝试使用文件中的文本编辑器进行更改/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif

答案1

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

SASL/EXTERNAL 已启用并正在运行。但是,您的数据库配置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

相关内容