我想在 OpenLDAP 中添加自定义属性,但我可能不理解这个概念。我所做的是:
我创建了 custom.schema
attributetype ( 1.3.6.1.4.1.4203.666.100.122
NAME ( 'dateOfBirth' )
SUP name
)
attributetype ( 1.3.6.1.4.1.4203.666.100.123
NAME ( 'IPPhone' )
SUP name
)
objectclass ( 1.3.6.1.4.1.4203.666.100.1
NAME 'customAttributes'
DESC 'Custom attributes class'
)
Run Code Online (Sandbox Code Playgroud)
我添加到 slapd.conf
include /usr/local/etc/openldap/schema/custom.schema
Run Code Online (Sandbox Code Playgroud)
现在我想将这个对象类分配给我在当前数据库中的每个 uid。所以我转储了数据库,向一些 uid 添加了对象类属性,并在导入 LDIF 时,ldap 说:
65) invalid structural object class chain (inetOrgPerson/customAttributes)
Run Code Online (Sandbox Code Playgroud)
LDIF 条目是这样的:
dn: dc=sss,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: sss.com
dc: sss
structuralObjectClass: organization
dn: ou=People,dc=sss,dc=com
objectClass: organizationalUnit
ou: People
structuralObjectClass: organizationalUnit
dn: uid=zzz,ou=People,dc=sss,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: customAttributes
structuralObjectClass: inetOrgPerson
...
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何添加这些自定义属性吗?
从无效结构对象类链错误看来,存在违反 STRUCTURAL对象类规则。没有相反的声明,您的 customAttributes objectClass 被视为一个 STRUCTURAL objectClass,它不能并且仍然与 inetOrgPerson 一起工作。我建议尝试将您的架构更改为以下内容:
objectclass ( 1.3.6.1.4.1.4203.666.100.1
NAME 'customAttributes'
AUXILIARY
DESC 'Custom attributes class'
MAY (dateofBirth $ IPPhone)
)
Run Code Online (Sandbox Code Playgroud)
为了进一步解释,我阅读了LDAP Guide中的常见错误原因。除此之外,您尝试创建的模式的粗略外观可能需要更多的思考来组织。通常建议在一棵树下有 objectClass 实体,在另一棵树下有 attributeType 实体以避免混淆和冲突。
归档时间: |
|
查看次数: |
4364 次 |
最近记录: |