Меня смущает множественное наследование объектных классов схемы LDAP

Я настроил OpenLDAP 2.4.50 на alpine 3.12.1 и ввел косинус , inetorgperson и nis схемы LDIF для него с использованием ldapadd . Теперь я хотел добавить собственный класс объекта. Я добавил запись cn = mystuff, cn = schema, cn = config , objectclass olcSchemaConfig , которая работала нормально. Теперь я хотел добавить новый объектный класс, который предоставил бы мне какой-то класс учетной записи с дополнительной информацией. Идея проста:создать объектный класс, который наследуется от person , а также от 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: пользовательский класс ObjectClass имеет несоответствующий SUPerior: "posixAccount"

Я полагаю, множественное наследование не разрешено в LDAP, как я пытаюсь его использовать, но я не смог найти ссылку, объясняющую, почему .

Короче говоря: как я могу создать объектный класс, состоящий из person и posixAccount ? А если это невозможно, скажите, пожалуйста, почему.

1
задан 11 November 2020 в 00:22
2 ответа

찾았습니다. https://tools.ietf.org/html/rfc4512 을 통해 직접 읽는 솔루션입니다. 생성하려는 objectClass는 STRUCTURAL 이고 수퍼 클래스 ( posixAccount ) 중 하나는 AUXILIARY 입니다. RFC에 따르면 이것은 허용되지 않습니다.

섹션 2.4.2 상태

"구조적 객체 클래스는 보조 객체 클래스를 하위 클래스화할 수 없습니다."

그리고 섹션 2.4.3 은 상태

"보조 객체 클래스는 구조적 객체 클래스를 하위 클래스로 만들 수 없습니다."

결국 이것은 STRUCTURAL AUXILIARY [와 관련하여 수퍼 클래스가 혼합 된 경우 객체 클래스의 다중 상속이 작동하지 않음을 의미합니다. 1145596]. 이에 대한 좋은 이유는 알 수 없지만 사양에 따라 불가능합니다.

3
ответ дан 4 January 2021 в 08:26

이 제한에 직면 한 것 같습니다. https://tools.ietf.org/html/rfc4512#section-2.4.2

”객체 또는 별칭 항목은 가장 종속적 인 객체 클래스로 단일 구조적 객체 클래스를 갖는 정확히 하나의 구조적 객체 클래스 수퍼 클래스 체인을 특징으로합니다.”

1
ответ дан 4 January 2021 в 08:26

Теги

Похожие вопросы