导入LDAP架构时出错:无法扩展OID

时间:2018-07-09 21:20:57

标签: import ldap schema openldap ldif

我正在尝试将模式导入openLDAP。该模式来自使用旧版OpenDS的安装程序,因此我必须进行一些调整。这是原始架构LDIF:

dn: cn=schema
objectClass: top
objectClass: ldapSubentry
objectClass: subschema
cn: schema
attributeTypes: ( udcid-oid NAME 'udcid' DESC 'UDC_IDENTIFIER' EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications X-ORIGIN 'SGHE Defined' )
objectClasses: ( lpSghePerson-oid NAME 'lpSghePerson' DESC 'Luminis Person' SUP inetOrgPerson STRUCTURAL MUST ( objectClass $ cn $ sn ) MAY ( jpegPhoto $ x500UniqueIdentifier $ initials $ givenName $ audio $ manager $ displayName $ postalAddress $ postalCode $ postOfficeBox $ physicalDeliveryOfficeName $ title $ description $ uid $ businessCategory $ udcid $ pager $ mobile $ roomNumber $ ou $ mail $ o $ photo $ registeredAddress $ internationaliSDNNumber $ x121Address $ facsimileTelephoneNumber $ preferredDeliveryMethod $ labeledURI $ destinationIndicator $ homePostalAddress $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ userPKCS12 $ userPassword $ seeAlso $ userCertificate $ departmentNumber $ carLicense $ employeeType $ preferredLanguage $ employeeNumber $ userSMIMECertificate $ street $ homePhone $ l $ secretary $ st ) X-ORIGIN 'SGHE Defined' )

这是我将其调整为:

dn: cn=lpSghePerson,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: lpSghePerson
olcAttributeTypes: ( udcid-oid NAME 'udcid' DESC 'UDC_IDENTIFIER' EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications X-ORIGIN 'SGHE Defined' )
olcObjectClasses: ( lpSghePerson-oid NAME 'lpSghePerson' DESC 'Luminis Person' SUP inetOrgPerson STRUCTURAL MUST ( objectClass $ cn $ sn ) MAY ( jpegPhoto $ x500UniqueIdentifier $ initials $ givenName $ audio $ manager $ displayName $ postalAddress $ postalCode $ postOfficeBox $ physicalDeliveryOfficeName $ title $ description $ uid $ businessCategory $ udcid $ pager $ mobile $ roomNumber $ ou $ mail $ o $ photo $ registeredAddress $ internationaliSDNNumber $ x121Address $ facsimileTelephoneNumber $ preferredDeliveryMethod $ labeledURI $ destinationIndicator $ homePostalAddress $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ userPKCS12 $ userPassword $ seeAlso $ userCertificate $ departmentNumber $ carLicense $ employeeType $ preferredLanguage $ employeeNumber $ userSMIMECertificate $ street $ homePhone $ l $ secretary $ st ) X-ORIGIN 'SGHE Defined' )

我收到此错误: ldap_add: Other (e.g., implementation specific) error (80) additional info: olcAttributeTypes: OID could not be expanded: "udcid-oid"

我有点困惑。我想收到此错误是因为它没有使用数字符号,但我不知道那会是什么。那是对的吗?我看了一个较旧的测试服务器,它是openDS,并使用了原始模式,并且OID不是数字,而是文本。这仅仅是openDS和openLDAP之间的区别吗? openLDAP是否要求其为数字?

1 个答案:

答案 0 :(得分:0)

您是对的:该错误消息是由于在架构描述中未使用数字引起的。 OpenLDAP在此方面比其他LDAP服务器实现更为严格。

如果找不到合适的数字,则必须分配自己的OID。

另请参阅:OpenLDAP FAQ: How do I obtain an OID arc for my use?

BTW:文本名称被解释为OID宏,必须使用slapd.conf中的指令 objectidentifier 或动态配置条目cn = schema,cn中的属性 olcObjectIdentifier 进行定义=配置。因此,错误消息“无法扩展OID”。