안녕하세요. :-)
>>임오근 님께서 쓰시길<<
:: 다시 질문 드리네여^^
:: 음~
:: 일단 제가 레벨이 3인 트리를 만들어서 테스트를 해보니 잘되네여...^^
:: 질문은 다름이 아니라여...
:: 각각의 레벨이름 있잖아여(c, o, ou, cn 등등)...
:: 이것들을 구분하기 위해서... objectclass를 사용하는건가여?
objectclass란 객체지향 개념의 class와 비슷하다라고 말할수있습니다.
객체를 추상화 하여 그 성질을 정의해 놓은것이라고 할수가 있습니다.
class의 정의를 따라 생성된 실물을 instance라 하듯이 ldap에서는 objectclass
의 정의를 따라 생성된 데이타를 엔트리라고 합니다.
:: 제가 만든 ldif 양식은 다음과 같습니다.
:: dn: o=myorg, c=US
:: o: myorg
::
:: dn: mail=richardc@xyz.com, o=myorg, c=US
:: ou: Richard Collins
:: mail: richardc@xyz.com
:: locality: 서울
:: description: LInux enthusiast
:: telephonenumber: 3283-3920392-32932
:: sex: man
:: objectclass: top
:: objectclass: organizationlUnit
::
:: dn: mail=harawat@coldmail.com, o=myorg, c=US
:: ou: Harish Rawat
:: mail: harawat@coldmail.com
:: locality: Haldwani
:: description: Ox-cart grand-prix champ
:: telephonenumber: 870-28912-221
:: sex: women
:: objectclass: top
:: objectclass: organizationlUnit
::
:: dn: mail=s1@s1.com, cn=Richard Collins, o=myorg, c=US
:: cn: S1
:: main: s1@s1.com
:: sex: man
:: objectclass: top
:: objectclass: person
::
:: 이렇게 만들어 봤습니다.
::
:: 여기서 궁금한건여...
:: objectclass 의 requires 항목에 있는 속성들이 단지 계층적인 구조를 나타내기
:: 위해서 사용되는 건지요. 그렇다면 음~
:: 따로 objectclass를 만들지 않고 디폴트로 제공되는 클래스들을 이용해서..
:: 만들면 괜찮은가여?
:: 그리고 다음과 같은 클래스에서 속성의 포함관계가 좀 이해가 안가는데여...
:: objectclass myperson
:: require cn, sn objectclass
:: allows mail, phone, fax
:: 라고 했을때 문서상에는 myperson의 오브젝트클래스를 가지는 항목은 우편, 전화, 팩스
:: 이외의 어떤 다른 속성도 포함하지 않는다구 하는데...
:: 위의 ldif양식을 보시믄 아시겠지만 sex, mail 같은 속성은 person 이라는
:: 클래스에 없던데... 잘 되더라구여...
:: 왜 그런지... 궁금하네여
::
openldap 1.x의 경우에는 ldap v2 표준을 따르고 있고 2.x는 표준 v3을 따르고
있습니다. 그러므로 1.x의 경우에는 objectclass 의 객체지향과 비슷한
inheritance(상속) 개념이 없습니다. 처음에 글을 읽었을때 이 문제를 말씀하시는
가 싶었는데 실제로 위의 데이타를 입력해 보니 입력이 되더군요. -_-;
ldif로 입력을 하면 분명이 입력이 안되는데 콘솔상에서 하나하나 입력을 하니
입력이 되는데.. 이것을 버그라고 해야 할지...
objectclass의 정의에서 require항목은 entry를 생성할때 꼭 있어야 하는 attribute
를 정의해 놓은 것이고 allow항목의 attribute들은 있어도 없어도 상관이 없는
것들입니다. 그런데 위의 경우는 아마도 버그가 아닐까 생각하는데요.
테스트 하신 Openldap버전이 어떤것인지요. 그다지 도움이 못되는군요. ^^;
그럼.
개념적으로 이해가 잘 안가시면 자료실의 LDAP관련문서를 꼭 한번 읽어보시길
권합니다. 그러면 위와 같은 혼동은 적어도 안생길듯 합니다.
:: 이구구... 온라인상으로 쓰다보니 두서가 없네여..ㅠ.ㅠ 죄송
:: 아시는분계시면 답변 부탁드립니다.
:: 그럼 수고하세여.
|