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 3400 게시물 읽기
No. 3400
object class 를 account에서 inetOrgPerson 로 변경 혹은 추가하고자 합니다.
작성자
김재현(ses0sj)
작성일
2013-04-15 22:06
조회수
7,157

기존에 아래와 같은 objectClass 를 갖는 user 에 inetOrgPerson objectClass 를 추가할수 있을까요? 
기존에 Linux 인증으로만 사용하던 LDAP 서버를 VPN 인증에도 도입하려 하니 inetOrgPerson objectClass 로의 변경이 필요하다 하여 이에대한 조언을 요청드립니다. 

 

dn: uid=test1,ou=People,dc=test,dc=com
cn: test1
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
objectClass: top
uidNumber: 1004
gidNumber: 900
homeDirectory: /home/test1
loginShell: /bin/bash
shadowMin: -1
shadowMax: 99999
shadowWarning: 7
shadowInactive: -1
shadowExpire: -1
shadowFlag: 134538308
uid: test1
userPassword::
shadowLastChange: 15805

감사합니다. 

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

기존  항목은 그대로 둔채로 objectclass 에 "inetorgperson" 을 추가하고

inetorgperson 의 필수 속성인 cn,sn 을 추가하신다면 사용 가능 합니다.

cn 값은 이미 존재하고 있으니 sn 값만 추가 하시면 될듯요

 

cn: test1
sn: account
objectClass: inerorgperson

objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
objectClass: top
uidNumber: 1004
gidNumber: 900
homeDirectory: /home/test1
loginShell: /bin/bash
shadowMin: -1
shadowMax: 99999
shadowWarning: 7
shadowInactive: -1
shadowExpire: -1
shadowFlag: 134538308
uid: test1
userPassword::
shadowLastChange: 15805

~~님이 2013-04-16 08:36에 작성한 댓글입니다. Edit

 To. ~~님

답변감사드립니다. 

간단히 GUI Tool(ldapadmin)에서 해당 object class 추가 및 sn 값을 account 로 넣은뒤 저장하려니 error 가 발생되네요. 

LDAP error! 개체 클래스 위반: invalid structural object class chain(account/inetOrgPerson)

혹시 왜 이런 에러가 나는지 아시나요?

ses0sj님이 2013-04-18 10:39에 작성한 댓글입니다. Edit

에러내용에 대해 살펴보니 "None of the listed objectClass values is structural." 인 상황에서 발생하는 에러라고 하는데, structural 이라는 부분을 잘 이해하지 못하겠습니다. 

account 와 inetorgperson 이 동일한 structural 이 아니라 함께 사용될수 없다는 뜻인가요? 다시말해 상속받는 root 가 서로 달라서 안되는건지 아니면 다른 이유인지 궁금합니다. 

이 문제를 해결하기 위해 현재 제가 설정한 어떤 정보를 확인하면 좋을지 가이드 부탁드립니다. (__) 꾸벅

 

김재현(ses0sj)님이 2013-04-18 10:53에 작성한 댓글입니다.

Objectclasses may be STRUCTURAL, in which case they are used to create entries (data objects), AUXILIARY in which case they may be added into any convenient entry, or ABSTRACT - a non-existent 'thingie'. The most common ABSTRACT objectclass is top, which forms the highest level of every objectclass hierarchy, and terminates any hierarchy.

If an objectclass is part of a hierarchy it must be the same type (STRUCTURAL, AUXIALIARY) as any SUPerior objectClass. The exception to this rule is if the SUPerior is an ABSTRACT type.

 

하나의 str object( 또는 그 줄기 str) 를 사용하는 제한 설정이 되어 는 경우 발생 할수 있습니다.

해당 LDAP 엔진 설정 파일 안에서 STRUCTURAL 관련 설정이 존재하는 지 확인 하고 조치 하면 될듯요

~~님이 2013-04-22 10:21에 작성한 댓글입니다. Edit

 ~~님

답변 감사드립니다. 

ldap 엔진 파일이라 함은 slapd.conf 로 생각됩니다. 

아래 설정에서 str object 를 사용 제한하는 설정이 있는지 살펴보면 되겠군요?!?!

 

----- 현재 slapd.conf

 

include         /etc/openldap/schema/core.schema

include         /etc/openldap/schema/cosine.schema

include         /etc/openldap/schema/duaconf.schema

include         /etc/openldap/schema/dyngroup.schema

include         /etc/openldap/schema/inetorgperson.schema

include         /etc/openldap/schema/java.schema

include         /etc/openldap/schema/misc.schema

include         /etc/openldap/schema/nis.schema

include         /etc/openldap/schema/openldap.schema

include         /etc/openldap/schema/ppolicy.schema

include         /etc/openldap/schema/collective.schema

allow bind_v2

pidfile         /var/run/openldap/slapd.pid

argsfile        /var/run/openldap/slapd.args

TLSCACertificatePath /etc/pki/tls/certs/ca-bundle.crt

TLSCertificateFile /etc/pki/tls/certs/slapd.pem

TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem

database config

access to *

        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage

        by * none

database monitor

access to *

        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read

        by dn.exact="cn=root,dc=test,dc=com" read

        by * none

database        bdb

access to *

                by self write

                by anonymous read

                by * none

suffix          "dc=test,dc=com"

checkpoint      1024 15

rootdn          "cn=root,dc=test,dc=com"

rootpw          {SSHA}~~~~~

directory       /data/ldap

index objectClass                       eq,pres

index ou,cn,mail,surname,givenname      eq,pres,sub

index uidNumber,gidNumber,loginShell    eq,pres

index uid,memberUid                     eq,pres,sub

index nisMapName,nisMapEntry            eq,pres,sub

 

김재현(ses0sj)님이 2013-04-22 10:41에 작성한 댓글입니다.

 ~~님

알려주신 structural objectclass 제한설정을 푸는 방법은 아직 찾지 못했습니다. ㅜㅜ

다만, account 와 inetorgperson 이 모두 structural objectclass 여서 두개를 함께 사용하는 부분에 문제가 있다는 것은 유추할수 있어 account 가 아닌 inetorgperson 을 기본으로 사용하는 계정을 추가했더니 문제 없이 잘 추가 됩니다. 

좀더 찾아봐야겠지만 inetorgperson 을 기본으로 사용하여 posixAccount 와 shadowAccount 를 추가하여 사용하는 방법도 확인해봐야 할것 같네요. 혹시 inetorgperson 을 account 대신 사용했을때 발생할 문제가 있을까요? 

그리고 (처음 알려주신 제한설정을 변경하여) 두개의 structural objectclass 를 사용하는 것도 디자인상의 문제가 없는건가요? 

 

매번 초보적인 질문에 답변 주셔서 감사드립니다. 

김재현(ses0sj)님이 2013-04-23 01:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
3404n-way multi master 구축할 때 credentials속성에 들어가는 값과 관련해서 문의드립니다. [1]
안명로
2013-07-01
5356
3403초보입니다..무엇이 틀렸는지 잘 모르겠습니다.. [2]
초보자
2013-06-05
6457
3401LDAP 세미나 [3]
송상준
2013-05-14
5721
3400object class 를 account에서 inetOrgPerson 로 변경 혹은 추가하고자 합니다. [6]
김재현
2013-04-15
7157
3254LDAP API로 AD 연동 질문 [1]
자운몽
2012-11-07
5869
3253LDAP CPU사용량 증가에 질문. [1]
LDAP
2012-11-02
5391
3252ODSEE11g에서 주기적인 차분엔트리 추출하는 방법이 있을까요
열심히
2012-09-14
5014
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다