* 정의되지 않은 attribute *
"attribute undefined"
새로운 엔트리를 추가하려 하는데 이런 에러가 뜨시는 분들이 있을지 모르겠지만...
만약 이런 에러가 뜨신다면 한번 살펴 보시기 바랍니다.
이런 에러가 뜨는 이유는 말 그대로 속성이 정의되지 않았다는 뜻입니다.
저의 경우는 "inetOrgPerson"이라는 objectclass를 써서 엔트리를 추가하려 했습니다. 그런데 objectlcass에서 쓸 수 있다고 정의된 attribute만을 썼는데 이런 에러가 뜨다니... -,-;;
무지하게 고심을 한 결과 원인을 알게 되었습니다. 다름아닌 schema 파일의 문제였습니다. 즉 slapd.conf에 inetOrgPerson.schema라는 파일이 포함되어 있지 않은 것이었습니다. 그래서 다음과 같은 문장을 추가하였습니다.
(아래의 경로는 사용자 환경 설정에 따라 다를 수 있습니다. ^^;)
글로벌 셋팅 부분에
"include /usr/local/etc/openldap/schema/inetOrgPerson.schema"
그런데 이번에는 slapd 데몬을 띄우려 하는데 이런 에러가 뜨더군요...
"audio attributetype undefined...."
"........"
이런 황당한 경우가... 제가 알기로는 schema파일은 함부로 건들면 안된다고 생각을 했는데 말이지요...(초보 입장에서... ^^;)
그래서 "audio"라는 속성이 정의된 부분을 찾아 보았습니다. 그런데 정말 정의가 되어 있지 않더군요...(이런 황당한 일이.... -,-;;)
그래서 schema파일에 다음과 같은 여러 속성들의 정의를 해주었죠....
"audio, homephone, homepostaladdress, ......"
그랬더니 이제서야 inetOrgPerson이라는 objectclass를 쓸 수 있더군요... ^^
schema에 속성을 정의하고자 하시는 분은 다음의 rfc문서를 통하여 정의를 구현할 수 있습니다.
** RFC 2798 문서 **
inetOrgPerson이라는 objectclass에서 정의된 모든 attribute을 다 재정의 할 필요는 없구요, 단지 정의되지 않은 "audio, homephone, homepostaladdress, pager, mobile, ....)등등을 정의 하시면 됩니다. 형식은 schema 파일에 이미 정의되어 있는 다른 속성들처럼 똑같이 하시면 됩니다.
참고로 저의 경우는 새로 정의한 attribute를 core.schema에 정의하였습니다..
혹시 저만 이런 경우 였었다면 정말 억울하겠지만 혹시 다른 분들도 이런 경우가 있으시다면 한번 고쳐 보시기 바랍니다...
저는 지금부터 새로운 objectclass와 attribute를 정의하는 부분을 쑤셔볼까 합니다..
그럼 다들 즐거운 하루 되시고요, 우리 모두 화이링~~~ ^________^
|