7장. 스키마 정의
디렉터리 스키마는 데이터를 디렉터리에 저장할 수 있는 방법을 정의하는 규칙 집합입니다. 디렉터리 정보는 개별 항목이며 각 항목은 특성 세트와 해당 값으로 구성됩니다. 항목에 설명된 ID 유형은 항목의 개체 클래스에 정의되어 있습니다. 오브젝트 클래스는 항목이 오브젝트 클래스에 대해 정의된 속성 세트를 통해 설명하는 오브젝트의 종류를 지정합니다.
기본적으로 스키마 파일은 생성할 수 있는 항목( 오브젝트 클래스) 및 해당 항목을 설명할 수 있는 방법( 특성)의 목록입니다. 스키마는 오브젝트 클래스 및 특성을 정의합니다. 스키마는 특성 값에 포함된 형식( 특성의 구문)과 해당 특성의 단일 인스턴스만 있을 수 있는지 여부를 정의합니다.
추가 스키마 파일을 Directory Server 구성에 추가하고 서버에 로드할 수 있으므로 스키마를 사용자 지정할 수 있으며 필요에 따라 확장할 수 있습니다.
스키마 정의에 너무 적은 또는 너무 많은 문자가 포함된 경우 Directory Server가 시작되지 않습니다. LDAP 표준에서 0개 이상의 공백을 사용할 수 있는 위치에 정확히 하나의 공간을 사용합니다(예: NAME 키워드와 특성 유형의 이름 사이의 위치).
7.1. 오브젝트 클래스 링크 복사링크가 클립보드에 복사되었습니다!
LDAP에서 오브젝트 클래스는 항목을 정의하는 데 사용할 수 있는 속성 세트를 정의합니다. LDAP 표준에서는 사람(개인 및 inetOrgPerson
), 그룹(groupOfUniqueNames
), 위치(locality
), 조직 및 부서(조직 및 조직Unit
) 및 장비(장치
)와 같은 많은 일반적인 유형의 항목에 대한 오브젝트 클래스를 제공합니다.
스키마 파일에서 오브젝트 클래스는 objectclasses
줄로 식별된 다음 OID, 이름, 설명, 직접 우수한 오브젝트 클래스(오브젝트 클래스와 함께 사용하고 이 오브젝트 클래스와 해당 특성을 공유하는 개체 클래스) 및 필수(MAY
) 속성 목록에 의해 식별됩니다. 이는 다음 예에 나와 있습니다.
예 7.1. 개인 오브젝트 클래스 스키마 항목
objectClasses: ( 2.5.6.6 NAME 'person' DESC 'Standard LDAP objectclass' SUP top MUST ( sn $ cn ) MAY ( description $ seeAlso $ telephoneNumber $ userPassword ) X-ORIGIN 'RFC 2256' )
objectClasses: ( 2.5.6.6 NAME 'person' DESC 'Standard LDAP objectclass' SUP top MUST ( sn $ cn ) MAY ( description $ seeAlso $ telephoneNumber $ userPassword ) X-ORIGIN 'RFC 2256' )
7.1.1. 필수 및 허용된 속성 링크 복사링크가 클립보드에 복사되었습니다!
모든 오브젝트 클래스는 여러 필수 특성과 허용된 속성을 정의합니다. 필수 속성은 지정된 오브젝트 클래스를 사용하여 항목에 있어야 하지만 허용된 속성은 허용되며 사용할 수 있지만 항목이 유효한 경우에는 필요하지 않습니다.
Person Object Class Schema Entry 에서와 같이 person
오브젝트 클래스에는 cn
,sn
및 objectClass
속성이 필요하며 설명도
참조하십시오
.
모든 항목에는 항목에 할당된 오브젝트 클래스를 나열하는 objectClass
속성이 필요합니다.
7.1.2. 오브젝트 클래스 상속 링크 복사링크가 클립보드에 복사되었습니다!
항목에 둘 이상의 오브젝트 클래스가 있을 수 있습니다. 예를 들어, 사람의 항목은 person
object 클래스에 의해 정의되지만, inetOrgPerson
및 organizationalPerson
객체 클래스의 특성에 의해 동일한 사람이 설명될 수도 있습니다.
또한 개체 클래스는 계층적 일 수 있습니다. 개체 클래스는 자체 필수 및 허용된 속성 외에도 다른 클래스에서 속성을 상속할 수 있습니다. 두 번째 오브젝트 클래스는 첫 번째의 최상 의 오브젝트 클래스입니다.
서버의 개체 클래스 구조는 특정 항목에 대한 필수 및 허용되는 속성 목록을 결정합니다. 예를 들어 사용자 항목에 inetOrgPerson
개체 클래스가 있어야 합니다. 이 경우 항목은 inetOrgPerson
,organizationalPerson
에 대한 우수한 오브젝트 클래스와 organizationalPerson
의 우수한 오브젝트 클래스를 포함해야 합니다.
objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
inetOrgPerson
개체 클래스가 항목에 할당되면 항목은 우수한 오브젝트 클래스에서 필수 및 허용되는 속성을 자동으로 상속합니다.