LDAP:不允许使用属性“givenName”
好的,所以我第一次学习和配置openLDAP,部分基于本教程:
http://www.rjsystems.nl/en/2100-d6-openldap-provider.php 我想添加一个示例用户,但我想我在教程中注意到了一个类型.在示例中,作者使用了cn:Christopher.我认为cn应该是一个较短的名称,类似于uid,如果不完全相同的话.所以在我的ldif中我设置了cn和gn(givenName),但是我收到了关于givenName的错误: ldap_add: Object class violation (65) additional info: attribute 'givenName' not allowed 这是我的ldif: dn: cn=tarcuri,ou=groups,dc=example,dc=com cn: jsmith gidNumber: 20000 objectClass: top objectClass: posixGroup dn: uid=tarcuri,ou=people,dc=com uid: jsmith uidNumber: 20000 gidNumber: 20000 objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount cn: jsmith gn: John sn: Smith loginShell: /bin/bash homeDirectory: /home/jsmith userPassword: john 我如何修改我的ldif文件以正确设置’givenName’,因为看起来一个人应该能够拥有一个名字.毕竟它需要sn. 谢谢!! 更新所以我尝试使用包含给定名称的inetOrgPerson,但在使用ldapsearch检查结果后,我看到以下内容: givenName:: VGhvbWFzIA== 当它应该具有我在ldif中使用的给定名称.显然正在发生一些事情,任何人都有一些洞察力?请注意givenName之后的两个冒号.
我担心
RFC 2256及其后代应该归咎于此:根据RFC,一个人没有givenName,并且您的LDAP服务器(正确地)拒绝让您分配该属性.
您有几个选项:您可以使用cn(通用名称)作为名字,添加支持givenName的其他ObjectClass(如inetOrgPerson),或者选择不同的结构ObjectClass(再次,如inetOrgPerson)来基于您的对象. 一般来说,inetOrgPerson是你想要使用的类似“人”的对象类:它比vanilla LDAP人更有用. 更新Re:您的更新.作为givenName的结果,您获得的时髦字符串实际上是base-64编码的字符串(VGhvbWFzIA == => Thomas).大多数客户端将能够自动解码,我不知道为什么你的没有(可能是某处的配置故障). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |