cosine
我已经在 alpine 3.12.1上设置了 OpenLDAP 2.4.50inetorgperson
并nis
使用ldapadd
. 现在我想添加一个自定义对象类。我添加了一个条目cn=mystuff,cn=schema,cn=config
,对象类olcSchemaConfig
,它工作得很好。现在我想添加一个新的 objectClass,它可以为我提供某种带有额外信息的帐户类。这个想法很简单:创建一个继承自person
和的 objectClass posixAccount
。她去我的LDIF...
dn: cn={4}mystuff,cn=schema,cn=config
changetype: modify
add: olcObjectClasses
olcObjectClasses: ( 1.3.6.1.4.1.999999.1.2.3 NAME 'myAccount' DESC 'A full acc
ount as I want it.' SUP ( person $ posixAccount ) STRUCTURAL )
问题是 OpenLDAP 不允许我这样做。它指出olcObjectClasses: user-defined ObjectClass has inappropriate SUPerior: "posixAccount"
我想我尝试使用它的方式在 LDAP 中不允许多重继承,但我找不到任何参考告诉我原因。
长话短说:如何创建一个同时包含 和 的person
objectClass posixAccount
?如果不可能,请告诉我确切的原因。
我自己通过https://www.rfc-editor.org/rfc/rfc4512找到了解决方案。我试图创建的 objectClass 是
STRUCTURAL
其中一个超类 (posixAccount
) 是AUXILIARY
. 按照 RFC,这是不允许的:第 2.4.2 节规定
此外,第 2.4.3 节指出
最后,这意味着如果您的超类混合了
STRUCTURAL
和 ,则对象类的多重继承永远不会起作用AUXILIARY
。我看不出这是一个很好的理由,但无论如何,这根本不可能通过规范来实现。我认为你遇到了这个限制https://www.rfc-editor.org/rfc/rfc4512#section-2.4.2