3.2. 스키마 파일의 요구 사항

스키마 파일은 cn=schema 항목을 정의하는 LDIF 형식을 사용합니다. 각 특성 유형 및 오브젝트 클래스는 이 항목에 추가됩니다.

스키마 파일에 대한 요구 사항은 다음과 같습니다.

  • 파일은 다음 항목으로 시작해야 합니다.

    dn: cn=schema
  • 스키마 파일에는 특성 유형 또는 오브젝트 클래스 또는 둘 다 포함할 수 있습니다.
  • 오브젝트 클래스 정의는 다른 스키마 파일에 정의된 특성을 사용할 수 있습니다.
  • 사용자 지정 스키마 파일을 사용해야 하는 인스턴스에 따라 다음 위치 중 하나에 저장합니다.

    • /etc/dirsrv/slapd-instance_name/schema/ 를 사용하여 이 특정 인스턴스에서 스키마 파일을 사용할 수 있도록 합니다.
    • /usr/share/dirsrv/schema/ 를 사용하여 이 호스트에서 실행 중인 모든 인스턴스에서 스키마 파일을 사용할 수 있도록 합니다.
  • 기본적으로 Directory Server는 99user.ldif 파일에서 사용자 지정 스키마를 예상합니다. 다른 파일 이름을 사용하는 경우:

    • 이름은 99user.ldif 보다 알파벳순이어야 합니다. 예를 들어 99aaa.ldif 는 ok이지만 99zzz.ldif 는 그렇지 않습니다.
    • 이름은 두 자리 숫자로 시작해야 하며 01 보다 커야 합니다. 사용자 정의 스키마 파일은 00 부터 98으로 시작하는 코어 스키마 파일 뒤에 로드되어야 하기 때문입니다.

      Directory Server는 스키마 파일을 알파벳순으로 읽습니다. 따라서 예를 들어 정의 99user.ldif 를 저장하는 경우 이름이 0001 로 시작하는 표준 파일의 정의를 재정의합니다.

  • /usr/share/dirsrv/data/ 디렉터리의 표준 스키마 파일을 사용하려면 파일을 /etc/dirsrv/slapd-instance_name/schema/ 또는 /usr/share/dirsrv/schema/ 에 복사하십시오. 그러나 대상 디렉터리에서 다른 파일 이름을 사용합니다. 그렇지 않으면 Directory Server는 업그레이드 중에 파일의 이름을 바꾸고 .bak 접미사를 추가합니다.

예 3.1. 사용자 정의 스키마 파일의 예

dn: cn=schema
objectClasses: ( 2.16.840.1.1133730.2.1.123 NAME 'exampleperson' DESC 'An example
  person object class' SUP top STRUCTURAL MUST dateOfBirth X-ORIGIN 'user defined' )
attributeTypes: ( 2.16.840.1.1133730.2.1.99 NAME 'dateOfBirth' DESC 'For employee
  birthday' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' )