이 절에서는 LDAP를 통해 속성 유형을 만들고 보고 삭제하는 방법에 대해 설명합니다.
cn=schema 항목에는 디렉토리 스키마에 각 속성 유형의 정의가 포함된, 여러 값을 갖는 속성 attributeTypes가 있습니다. ldapmodify(1) 명령을 사용하면 이러한 정의에 다른 내용을 추가할 수 있습니다.
새 속성 유형 정의 및 사용자 정의 속성 유형에 대한 변경 사항은 99user.ldif 파일에 저장됩니다.
새 속성 유형을 정의하려면 각 속성 유형 정의에 반드시 OID를 입력해야 합니다. 또한 새 속성 유형에 반드시 다음 요소를 사용해야 합니다.
속성 OID. 속성의 객체 식별자에 해당합니다. OID는 스키마 객체를 고유하게 식별하는 문자열이며 대체로 점으로 구분된 10진수로 구성됩니다.
LDAP v3를 엄격히 준수하려면 유효한 숫자 OID를 입력해야 합니다. OID에 대한 자세한 내용을 보거나 사용자 회사에 대한 접두어를 요청하려면 IANA(Internet Assigned Number Authority)로 전자 메일(iana@iana.org)을 보내거나 IANA 웹 사이트를 참조하십시오.
속성 이름. 속성의 고유 이름에 해당하며 속성 유형이라고도 합니다. 속성 이름은 문자로 시작해야 하며 ASCII 문자, 숫자 및 하이픈만 사용할 수 있습니다.
속성 이름에는 대문자를 사용할 수 있지만, LDAP 클라이언트가 속성을 구별할 목적이라면 대소문자를 사용해서는 안 됩니다. 속성 이름은 RFC 4512의 섹션 2.5에 따라 대소문자를 구분하지 않고 처리해야 합니다.
별칭으로도 참조되는 대체 속성 이름을 속성 유형에 포함시킬 수도 있습니다.
속성 설명. 속성의 용도를 설명하는 짧은 설명 텍스트입니다.
구문. OID에서 참조되며 속성에 포함할 데이터를 설명합니다.
OID에 따른 속성 구문은 RFC 4517에 나열되어 있습니다.
허용되는 값 수. 기본적으로 속성은 여러 값을 갖지만 속성이 단일 값을 갖도록 제한할 수 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
RFC 4517에 지정된 구문에 따라 속성 유형 정의를 준비합니다.
ldapmodify(1) 명령을 사용하여 속성 유형 정의를 추가합니다.
디렉토리 서버에서는 사용자가 입력한 정의에 X-ORIGIN 'user defined'를 추가합니다.
다음 예에서는 ldapmodify 명령을 사용하여 디렉토리 문자열 구문으로 새 속성 유형을 추가합니다.
$ cat blogURL.ldif dn: cn=schema changetype: modify add: attributeTypes attributeTypes: ( 1.2.3.4.5.6.7 NAME ( 'blog' 'blogURL' ) DESC 'URL to a personal weblog' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - -f blogURL.ldif Enter bind password: modifying entry cn=schema $ |
작업 환경에서 1.2.3.4.5.6.7이 아닌 유효한 고유 OID를 입력합니다.
cn=schema 항목에는 디렉토리 스키마에서 각 속성 유형의 정의가 포함된, 여러 값을 갖는 속성 attributeTypes가 있습니다. ldapsearch(1) 명령을 사용하면 이러한 정의를 읽을 수 있습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
다음 명령을 실행하면 모든 속성 유형 정의가 표시됩니다.
$ ldapsearch -T -b cn=schema "(objectclass=*)" attributeTypes |
-T 옵션을 사용하면 ldapsearch 명령 실행 시 LDIF 줄이 겹치지 않으므로 grep 또는 sed와 같은 명령을 사용하여 출력 작업을 쉽게 수행할 수 있습니다. 그런 다음 grep 명령을 통해 이 명령의 출력을 파이프하면 디렉토리 스키마에 대해 사용자 정의 확장만 볼 수 있습니다. 예를 들면 다음과 같습니다.
$ ldapsearch -T -b cn=schema "(objectclass=*)" attributeTypes | grep "user defined" attributeTypes: ( 1.2.3.4.5.6.7 NAME ( 'blog' 'blogURL' ) DESC 'URL to a personal weblog' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' ) |
cn=schema 항목에는 디렉토리 스키마에서 각 속성 유형의 정의가 포함된, 여러 값을 갖는 속성 attributeTypes가 있습니다. ldapmodify(1) 명령을 사용하면 X-ORIGIN 'user defined'가 포함된 정의를 삭제할 수 있습니다.
스키마는 cn=schema에 있는 LDAP 뷰에서 정의되기 때문에 ldapsearch 및 ldapmodify 유틸리티를 사용하여 온라인으로 스키마를 보고 수정할 수 있습니다. 그러나 X-ORIGIN 필드에 대해서는 ’user defined’ 값이 있는 스키마 요소만 삭제할 수 있습니다. 서버에서 다른 정의는 삭제되지 않습니다.
사용자 정의 속성에 대한 변경 사항은 99user.ldif 파일에 저장됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
삭제할 속성 유형 정의를 봅니다.
자세한 내용은 속성 유형을 보는 방법을 참조하십시오.
ldapmodify(1) 명령을 사용하여 스키마에 표시된 대로 속성 유형 정의를 삭제합니다.
The following command deletes the attribute type that is created in 예 12–1:
$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: cn=schema changetype: delete delete: attributeTypes attributeTypes: ( 1.2.3.4.5.6.7 NAME ( 'blog' 'blogURL' ) DESC 'URL to a personal weblog' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' ) ^D |
이 스키마 정의를 확장으로 분류하려면 디렉토리 서버에서 추가된 X-ORIGIN 'user defined'를 포함시켜야 합니다.