openldap 튜토리얼에 나와있는 데로 테스트를 했습니다.
우선 slapd.conf 에는 core.schema 만 include 되어있습니다.
그런데 core.schema 를 열어보니
# system schema
#attributetype ( 2.5.4.3 NAME ( 'cn' 'commonName' )
# DESC 'RFC2256: common name(s) for which the entity is known
by'
# SUP name )
이처럼 cn attribute 가 주석처리 되어 있습니다.
허나 튜토리얼 대로 테스트를 할때
샘플 ldif 를 아래와 같이 구성한 후
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example Company
dc: example
dn: cn=Manager,dc=example,dc=com
objectclass: organizationalRole
cn: Manager
ldapadd 시켜봤습니다. 튜토리얼 대로 추가가 잘 되더군요.
제 질문은 참조한 스키마가 core.schema 인데 여기는 분명 cn
어트리뷰트는 주석처리입니다.
example.ldif 에는 cn=Manager 라고 cn 어트리뷰트를 사요하는
엔트리가 있습니다.
왜 에러없이 추가되는지 궁금하네요..
혹시나해서 slapd.conf 에 schemacheck on 을 넣어봐도
마찬가지더군요.
schema 대로 엔트리를 작성해야 하는거 아닙니까?
아니면 스키마는 단지 참조일뿐 지킬 필요는 없는 것인가요...
궁금합니다.
또 한가지는 core.schema 를 보면 대부분의 어트리뷰트는 sup name
으로 name 을 상속하게되있습니다.
그러나 core.schema 어디에서 name 어트리뷰트를 정의 한 곳이
없습니다.
이건 또 왜인가요..
도움주시면 감사하겠습니다.
ps) iplanet 는 스키마를 보니 어트리뷰터타입과, 오브젝트클래스에
전부 복수형이더군요 -__- 원래 그런가요?
|