openldap – ldapadd错误是什么:“附加信息:objectClass:值#3每个语法无效?

前端之家收集整理的这篇文章主要介绍了openldap – ldapadd错误是什么:“附加信息:objectClass:值#3每个语法无效?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有ldif
dn: olcOverlay=ppolicy,olcDatabase={1}hdb,cn=config
objectClass: top
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverlay: ppolicy
olcPPolicyDefault: cn=default,ou=policies,dc=local
olcPPolicyHashCleartext: TRUE

dn: olcOverlay=memberof,cn=config
objectClass: top
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcMemberOf
olcOverlay: {1}memberof
olcMemberOfMemberAD: uniqueMember
olcMemberOfGroupOC: groupOfUniqueNames
olcMemberOfRefInt: TRUE

我正在尝试使用以下命令配置ldap服务器:

ldapadd -Y EXTERNAL -H,ldapi:/// -f /tmp/overlays.ldif
The error I'm getting is:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcOverlay=ppolicy,cn=config"
ldap_add: Invalid Syntax (21)
additional info: objectClass: value #3 invalid per Syntax

我怀疑这是由于密码不正确,但我无法确定.我在网上搜索的点击量是“价值#2”或“价值#1” – 作为非ldap专家,我不知道这是否有任何区别.

谢谢,
布鲁斯

这不是一个错误的密码,即无效的凭证(49).

它是无效的语法(21).具体来说,在objectClass的情况下,您尝试使用不存在的objectClass(olcPPolicyConfig).

OpenLDAP计算多属性值,其中objectClass为1,从0开始.这意味着你的ldapadd看起来像:

value#0: top  
value#1: olcConfig  
value#2: olcOverlayConfig  
value#3: olcPPolicyConfig

olcPPolicyConfig objectClass由libtool库ppolicy.la提供,它通常需要作为模块加载. memberOf和大多数其他叠加层也是如此.

$sudo ldapadd -Y EXTERNAL -H ldapi:/// <<EOF
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: ppolicy.la

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: memberof.la
EOF

您的模块路径可能不同,上面是CentOS7的正确路径.

猜你在找的Bash相关文章