使用 ldapadd 时出现“错误的属性类型”

使用 ldapadd 时出现“错误的属性类型”

尝试加载以下配置时

dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcMirrorMode 
olcMirrorMode: TRUE

我收到以下错误:

root@box:~# ldapadd -Y EXTERNAL -H ldapi:/// -f mirrormode.ldif 
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
ldapadd: wrong attributeType at line 4, entry "olcDatabase={1}hdb,cn=config"

在我看来一切正常——有什么问题吗?

答案1

问题原来是出在这一行的尾随空格:

add: olcMirrorMode 

呼呼!

答案2

今天又踩到了同样的耙子,但是没有尾随空格,又隐藏了一个笑话。

我的同事给我发了一个带有问题的 LDIF 示例,我试图通过复制同事消息中的文本来重现他遇到的问题。我花了一个小时的时间努力想弄明白问题出在哪里,然后我才明白,那里是 Unicode 符号U+00A0( 0xC2 0xA0),而不是 ASCII SPACE( 0x20)。

感谢 vim 及其语法高亮功能,vim 拼命地试图给我一个线索:vim 尝试给出线索

答案3

就我而言,我忘记在多个更新之间添加连字符。

错误的:

dn: cn=John Doe,ou=user,dc=example,dc=com
changetype: modify
add: disabled
disabled: 0
add: activity
activity: INACTIVE
ldapmodify: wrong attributeType at line 5, entry "cn=John Doe,ou=user,dc=example,dc=com"

正确的:

dn: cn=John Doe,ou=user,dc=example,dc=com
changetype: modify
add: disabled
disabled: 0
-
add: activity
activity: INACTIVE

相关内容