database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
ㆍLDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
LDAP Q&A 2161 게시물 읽기
No. 2161
[재질문] LDIF 로 LDAP 에 import 하기
작성자
오종목(dhwhdahr)
작성일
2005-04-12 19:57
조회수
11,730

아래 최정욱님 답변 감사드립니다.

 

그런데 아직도 LDIF 로 파일을 import 시키지 못하고 있습니다.

 

현재 user 클래스 에

Required attributes

cn

objectClass

Allowed attributes

a

b

c

기타 등등

 

이렇게 설정되어 있습니다.

그런데 콘솔에서 import 시 아래와 같은 에러 메세지가 계속 납니다.

Error adding object 'dn: cn=??浿(hong kil dong),o=user,c=kr'.
The error sent by the server was 'No such object'.

~~~~

 

여기서 의문나는 점이

dn 은 ldap 에서 디폴트로 잡고 있는 속성이라 위에 Required attributes 에 넣으면 안되는거

같더라구요.

그래서 위에 처럼 해보기도 하고 dn 을 Required attributes 에 넣고 해보기도 하고

Allowed attributes 에 넣고 해보기도 하였습니다만

위와 같은 에러 메세지가 나옵니다.

에러로 봐서는 맞는 object 가 없다고 하는데 아무리 찾아봐도 다 있는데 말이죠.

값을 넣을때는 attribute 갯수도 딱 맞아야 하죠?

그것도 맞는데 잘 안되네요.

 

아시는 분 명쾌한 답변 부탁드립니다.

이 글에 대한 댓글이 총 10건 있습니다.

일단 LDIF 로도 import 성공

콘솔에서도 데이타 입력이 성공했습니다.

 

entrydn 과 똑 같이 맞춰줘야 하더군요.

dn: cn=홍길동,ou=user

 

이부분이었던 같습니다.

현재

user objectclass 설정은 아래와 같습니다.

required attributes

       cn

       objectClass

Allowed attributes

       a

       b

       기타등등

 

allowed attrubues 에서 dn 을 뺐습니다.

dn 은 위처럼 user objectclass 에 안잡아도 디폴트인놈을 쓰더군요.

아직 해결 못한 것이

entrydn 을 수정하는 부분과 import 시 한글 깨짐입니다.

검색도 해봐야겟지만 아시는분은 댓글 바랍니다.

LDAP 쉽지 않군요.

오종목(dhwhdahr)님이 2005-04-12 20:32에 작성한 댓글입니다.

안녕하세요 송상준입니다.

db2ldif를 쓰셔서 import를 하셨다는 이야기 신가요?

 

DN은 트리에서 하위에서 상위노드가지 ,로 구분한 이름으로

각 Entry는 어트리뷰트=값으로 구성됩니다. 따라서 당연히 dn은

스키마에 들어가면 안되죠....

 

entrydn 을 수정하는 부분과 import 시 한글 깨짐입니다.

=> entrydn을 수정은 Modifyrdn연산을 사용하면 됩니다.

     툴을 이용하거나 ldapmodify를 이용하시면 되고요.

     leaf node 이어야만 수정이 됩니다.

     LDIF를 한글로 입력시 주의 점은  한글은 꼭 UTF-8로 바꾸고

     입력해야 합니다. 그리고 UTF-8로 바꾸고 BASE64로 바꾸어서

     IMPORT하면 깨지지 않을 것입니다. 그리고 ::는 두개를 넣어야

    합니다.

 

예를 들어

dn: cn=홍길동,ou=user

cn: 홍길동

 

=>

dn:: Y2497ZmN6ri464+ZLG91PXVzZXIA

cn:: 7ZmN6ri464+Z

 

이렇게 표현하시면 됩니다.

 

dn: uid=hong, o=egov.go.kr
userPassword:: e1NTSEF9TnlXWHNUZ3hiUmZJTUgwOUdYNTUwRXdWNUpuQk1MVmQ1V1VSYWc9PQ
 ==
uid: hong
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetorgperson
givenName:: 7ZmN
sn:: 6ri464+Z
cn:: 7ZmN6ri464+Z

 

이게 사용자 에 값을 넣은 LDIF파일입니다.

 

 

 

 

송상준(sjsong)님이 2005-04-12 22:43에 작성한 댓글입니다.
이 댓글은 2005-04-12 22:44에 마지막으로 수정되었습니다.

송상준 님 답변에 감사드립니다.

 

아 그렇군요.

저도 방금 sun ldap 담당자와 통화후 알아냈습니다.

ou를 콘솔에서 생성하는 방법과 함께요.

 

그런데 이제 베이스64로 바꾸는게 문제군요.

 

베이스64로 쉽게 바꾸는 방법 아시는분 한 번 더 알려주셨으면 합니다.

 

프로그램을 짜면 쉽게 넣겠지만

시간이 없어서 LDIF 를 사용하려고 합니다.

 

한번 더 부탁드립니다.

=========================================================

추가 합니다.

base64 로 변환 하는 것은 찾았습니다.

그런데 이를 변환하고 일반txt 로 저장하고

import 를 하니 그대로 깨져서 보입니다.그전과 똑 같이...

그래서 base64 변환후 utp-8 이나 unicode 로도 변환해 보았으나

역시 import 도 안됩니다.

 

위에 상준님이 언급한 것처럼 utp-8 -> base64 로 변환해야만

하는지 알고 싶습니다.

그러면 위처럼 변화시키는 방법은 어떻게 해야 하는지요.

==========================================================

그래서 이번에는 반대 방법으로

콘솔에서 attribute 를 넣고서

export 한 LDIF 를 보고서 base64로 변환한 거와 비교를 해보았습니다만 이 값들이 서로 다르더군요.

그리고 dn 값은 base64 가 아닌 한글로 나오며

entrydn 값 과 그외 한글 들어가 있는 부분만이 base64 로 보입니다.

그래서 기존의 값들을 콘솔에서 지우고

export 한 LDIF 파일을 고대로 import 시켜 보았으나 utp-8 이든

그외의 형식이든 import 가 되질 않더군요.

이에 대해서도 조언을 듣고 싶습니다.

데이타 한꺼번에 넣으려는데 정말 힘드네요.

 

오종목(dhwhdahr)님이 2005-04-13 09:19에 작성한 댓글입니다.
이 댓글은 2005-04-13 11:33에 마지막으로 수정되었습니다.

LDAP 게시판 중에 파일에 csv2ldif를 올려 놓았습니다.

한번 사용해 보세요.

송상준(sjsong)님이 2005-04-13 16:25에 작성한 댓글입니다.

상준님의 자료 뭐라 감사의 말을 전할길이 없습니다만

딱 하지 문제가 있어서 사용하지 못하고 있습니다.

 

dn 의 base64 로 인코딩 된 부분이 80컬럼이 넘어갈 경우

*.ldif 파일은 자동줄바꿈을 합니다.

이부분때문에 import가 안되고 있습니다.

 

아주 좋은 프로그램인데 정말 아쉽습니다.

 

해결책이 있는지 모르겠습니다.

 

제가 제글에 이렇게 댓글을 달아

저같은 실수와 모르는 분을 위함이니 글이 두서 없고

길어도 양해 바랍니다.

오종목(dhwhdahr)님이 2005-04-13 19:04에 작성한 댓글입니다.
이 댓글은 2005-04-13 19:05에 마지막으로 수정되었습니다.

ldif에서 기본적으로 base64는 80칼럼마다 다음줄로 내려가는것은

정상입니다. 이미 다른곳에서 사용했던 프로그램입니다.

 

저도 SunONE Directory 엔지니어인데 IMPORT는 잘 되는데요

그럼

 

다시 사용해 보시기 바랍니다.

송상준(sjsong)님이 2005-04-13 20:16에 작성한 댓글입니다.

송상준님

답변 감사합니다.

 

그런데 80컬럼이 넘어가면서 줄바꿈만 하면 괜찮은데

빈칸(공백)이 들어갑니다. 줄바꿈을 하고 그 앞에 공백이 들어가네요.

===> 이부분과는 전혀 상관이 없네요.

 

그런데 import 시

콘솔에서의 에러는

Error reading object number1. The error is "line 1: expecting dn:"

이라고 나오더군요.

위 공백이 없을 경우도 import 시 에러가 위와 같이 나오는데

 

현재 스키마 구조는

cn 이 required attributes(objectClass 도 있고요) 로 잡혀져 있고

dn 은 default attributes 를 사용하며

그리고 나머지 속성들이  12 개 있습니다.

 

예로

 

import 하려는 sample.ldif 를 보면 아래와 같습니다.

 

cn:: 7ZmN6ri464+Z
dn:: Y2497ZmN6ri464+ZLG91PTExWlosbz3thYzsiqTtirjrk7HquLDshowsYz1rcg==
ofcialname:: 7ZmN6ri464+Z
objectClass: top
objectClass: irosuser
ofcialver: 1
ofcialno: 1
regtver: 11
regtno: 1111
enrno: 1122331234567
prvgclscd: 11900
prvgset: NNNNNNNNNNNNNNNNNNNNN
notiprvgclscd: AA
userenrollprvgcls: Y
captaincls: N
regtintroprvgcls: N

그런데 import 가 되지 않고 있습니다.

====> dn 을 맨 앞으로 바꾸니 잘 들어갑니다.

          쉽게 데이타를 넣게 되었습니다. 다시 한번 감사드립니다.

 

상준님의 고견을 들었으면 하네요.

LDAP 처음 접하니 데이타 넣기 어렵군요.

 

귀찮으시질 모르지만 email 라도 도움을 받았으면 합니다.

dhwhdahr@hotmail.com

 

 

오종목(dhwhdahr)님이 2005-04-14 09:17에 작성한 댓글입니다.
이 댓글은 2005-04-14 13:49에 마지막으로 수정되었습니다.

항상 LDIF에서 dn이 제일 먼저 들어가야 됩니다.

송상준(sjsong)님이 2005-04-14 09:49에 작성한 댓글입니다.

현재 데이타는 아주 잘 들어가고 있습니다.

엑셀에서 0001 로 셋팅할때만 주의해서 변환시키면 될 듯 합니다.

다시 한번 감사의 글을 전합니다.

오종목(dhwhdahr)님이 2005-04-14 17:19에 작성한 댓글입니다.
이 댓글은 2005-04-14 17:25에 마지막으로 수정되었습니다.

이미 많은 부분이 처리된 것 같습니다.

혹시나 도움이 될까해서 올립니다.

 

우선은 base64 인코딩과 디코딩이 해결되어야 할 것이고요.

 

다음으로..

 

Error adding object 'dn: cn=??浿(hong kil dong),o=user,c=kr'.
The error sent by the server was 'No such object'.

~~~~

 

위의 에러는 'dn: cn=??浿(hong kil dong),o=user,c=kr' 엔트리를 추가하고자 하는데 'No such object'라는 에러가 발생하는 것으로 에러의 원인은 'o=user,c=kr'라는 엔트리가 존재하지 않기 때문이라고 봅니다.

LDAP에서 엔트리를 추가하고자 할 때 DN값으로 나타난 상위 엔트리가 없이는 하위에 엔트리 등록이 되지 않습니다.

 

오종목님의 이후 글을 보면, 'dn: cn=홍길동,ou=user'을 볼 수가 있는데, 혹시 처음부터 'o=user,c=kr'라는 엔트리는 만드시지 않으시고  'o=user'라는 엔트리만을 만드신 것은 아닌가요?

 

그리고, DN은 attribute가 아닙니다.

 

도움이 되시길 바랍니다.

 

디에스멘토링님이 2005-04-19 00:28에 작성한 댓글입니다.
이 댓글은 2005-04-19 00:33에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2166LDAP과 DB 사이의 실시간 동기화...... 어떻게 하면 될까요? [3]
송상준
2005-04-29
8107
2165Active Directory에서 사용자 패스워드 attribute명이 뭔지 궁금합니다. [1]
초보
2005-04-28
7775
2162openLDAP과 Kerberos연동 질문이요 [5]
야옹이
2005-04-13
9231
2161[재질문] LDIF 로 LDAP 에 import 하기 [10]
오종목
2005-04-12
11730
2160[질문] LDIF 작성하려는데 도움이 필요합니다. [1]
오종목
2005-04-11
7140
2159정말 모르겠습니다. - 정의,용도 [1]
궁금이
2005-04-10
6987
2157asp로 netscape LDAP 연결 문제 [3]
Harry
2005-04-02
7804
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.013초, 이곳 서비스는
	PostgreSQL v13.3으로 자료를 관리합니다