강좌
클라우드/리눅스에 관한 강좌입니다.
해킹&보안 분류

리눅스마스터1급 : 인증 서비스의 구조 - NIS의 구조LDAP의 구조

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 인증 서비스의 구조 - NIS의 구조LDAP의 구조

 

 




디렉토리는 데이타베이스와 유사하지만 더욱 설명적이고 속성에 기초한 정보를 갖고 있다.

 

 

 

디렉토리내의 정보는 일반적으로 쓰기보다는 읽기 작업에 더욱 빈번하게 이용되기 때문에 디렉토리는 통상적으로 정규 데이타베이스들이 대량의 복잡한(high-volume complex) 갱신을 위해 사용하는 복잡한 처리(transaction) 또는 롤백 계획(프로그램에 따라 바로 전의 체크포인트로 돌아가기, roll-back)을 수행하지는 않는다.

 

 

 

디렉토리는 일반적으로 허용된다면 전부 갱신되거나 아무 것도 변경되지 않는다.

 

 

 

 

 

디렉토리는 다량의 순람(lookup) 또는 검색 연산에 대해 빠르게 응답하기 위해 조정된다.

 

 

 

디렉토리는 응답 시간을 감소시키는 반면 가용성과 신뢰성을 증대시키기 위해 정보를 널리 복제할 수 있다.

 

 

 

디렉토리 정보가 복제될 때 복제된 정보들 사이의 일시적인 불일치가 있을 수 있으나 결국 일치된다면 문제될 것이 없다.

 

 

 

 

 

디렉토리 서비스를 제공하는 많은 방법이 있다.

 

 

 

다양한 종류의 정보가 디렉토리에 저장되는 것을 허용하며, 그러한 정보가 어떻게 참조, 질의 및 갱신될 수 있는지 또는 허가받지 않은 엑세스로부터 어떻게 보호되는지 등에 대한 여러가지 요건을 둔다.

 

 

 

어떤 디렉토리 서비스는 제한된 상황(예를 들면 단독 머신에서 finger 서비스)에 대해서 서비스를 제공하는 지역적인 반면 다른 서비스는 더욱 넓은 상황에 대해서 서비스를 제공하는 전체적이다.

 

 

 

 

 

LDAP 디렉토리 서비스는 클라이언트-서버 모델에 기초하는데, 하나 또는 그 이상의 LDAP 서버들이 LDAP 디렉토리 트리 또는 백엔드(backend) 데이타베이스를 구성하는 자료를 갖고 있다.

 

 

 

LDAP 클라이언트는 LDAP 서버에 연결해 질의하며, 서버는 답 또는 클라이언트가 더 많은 정보를 얻을 수 있는 포인터(일반적으로 다른 LDAP서버)를 갖고 응답한다.

 

 

 

클라이언트는 어떤 LDAP 서버에 연결하던지 간에 동일한 디렉토리 구조를 본다.

 

 

 

LDAP 서버에 보내지는 이름은 다른 LDAP에 있을 수 있는 동일한 엔트리를 참조하며 이것이 LDAP와 같은 전체적인 디렉토리 서비스의 중요한 특징이다.

 

 

 

 

SLAPD(Standalone LDAP Daemon)3개의 다른 백엔드 데이타베이스 중에서 하나를 선택할 수 있다.

 

 

 

고성능 디스크에 기초한 데이타베이스 LDBM, 임의의 유닉스 명령어 또는 쉘 스크립트에 대한 데이타베이스 인터페이스 SHELL, 간단한 패스워드 파일 데이타베이스인 PASSWD. 여기서는 LDBM 데이타베이스가 선택된다고 가정한다.

 

 

 

 

 

LDBM 데이타베이스는 데이타베이스내의 각 엔트리에 콤팩트한 4바이트의 고유한 식별자를 할당함으로써 작동한다.

 

 

 

데이타베이스는 엔트리 고유 식별자(entry's unique identifier, EID)를 엔트리 자체를 표현하는 텍스트로 사상해주는 id2entry라는 하나의 주 인덱스 파일로 구성되는데 다른 인덱스 파일들도 마찬가지로 유지된다.

 

 

 

 

 

LDAP에 기초한 디렉토리 서버들간의 디렉토리 정보를 import export 하거나 디렉토리에 적용되어지려고 하는 일련의 변경들을 기술하기 위해 LDIF(LDAP Data Interchange Format) 파일 포맷이 일반적으로 사용된다.

 

 

 

LDIF 파일은 엔트리의 객체지향 계층 구조내에 정보를 저장하는데 LDAP 소프트웨어 패키지에는 LDIF 파일을 LDBM 포맷으로 변화해주는 유틸리티가 있다.

 

 

 

 

 

일반적인 LDIF 파일은 다음처럼 보인다

 

 

 

 

 

 

 

dn: o=SUPERUSER, c=NL

o: SUPERUSER

objectclass: organization

dn: cn=Doly, o=SUPERUSER, c=NL

cn: Doly

sn: Malere

mail: wyjung@linux.co.kr

objectclass: person

 

 

 

 

 

 

 

위에서 보듯이 각 엔트리는 구별되는 이름(DN, distinguished name)에 의해 고유하게 식별되며 DN은 엔트리의 이름과 엔트리를 통해 디렉토리 계층 구조의 최상위를 찾는 이름들의 경로로 구성된다.

 

 

 

LDAP에서 객체 클래스는 엔트리를 정의하는데 사용될 수 있는 속성 집합을 정의한다.

 

 

 

 

 

LDAP 표준은 다음과 같은 기본 형태의 객체 클래스를 제공한다.

 

 

 

 

 

개별 객체 또는 객체 그룹의 정렬되지 않은 리스트를 포함하고 있는 디렉토리내 그룹

 

국가명과 설명(description)과 같은 장소

 

디렉토리내 조직

 

디렉토리내 사람

 

 

 

일반적인 LDAP속성은 다음과 같다.

 

 

 

 

 

속성

내 용

o

Organization ( 최상위 조직 )

ou

Organizational Unit ( 조직의 부서 )

cn

Common Name ( 가장 일반적인 이름 )

objectClass

속성이 따르는 스키마

 

엔트리는 하나 이상의 객체 클래스에 속할 수 있는데, 예를 들면 사람에 대한 엔트리는 person 객체 클래스에 의해 정의되지만 inetOrgPerson, groupOfNamesOrganization 객체 클래스내의 속성에 의해서도 정의될 수 있다.

 

 

 

서버의 객체 클래스 구조(즉 스키마, schema)는 특별한 엔트리에 대해 필수 및 허용 속성들의 총 리스트를 결정한다.

 

 

 

디렉토리 자료는 속성-값 쌍으로 표현되는데 정보의 어떤 특정 부분은 설명적 속성과 연결된다.

 

 

 

예를 들면, commonName 또는 cn 속성은 사람의 이름을 저장하는데 사용된다.

 

 

 

Doly라는 이름을 갖는 사람은 디렉토리내에서 다음과 같이 표현될 수 있다.

 

 

 

 

 

 

 

 

 

cn: Doly

 

 

 

 

 

 

 

디렉토리내에 들어가는 각 사람은 person 객체 클래스내의 속성 집합에 의해 정의되는데 이 엔트리를 정의하기 위해 사용하는 다른 속성들은 다음을 포함할 수 있다.

 

 

 

 

 

 

 

 

 

givenname: Jung

surname: Wooyoung

mail: wyjung@linux.co.kr

 

 

 

 

 

 

 

필수 속성들은 객체 클래스를 사용하는 엔트리에 존재해야 하는 속성들을 포함하는데 모든 엔트리들은 엔트리가 속하는 객체 클래스가 리스트되어 있는 objectClass 속성을 필요로 한다.

 

 

 

허용 속성들은 객체 클래스를 사용하는 엔트리에 존재할 수 있는 속성들을 포함하는데 예를 들면 person 객체 클래스에서 cn sn 속성은 필수지만 description, telephoneNumber, seeAlsouserpassword 속성들은 필수가 아닌 허용된 것들이다.

 

 

 

 

 

각 속성은 속성에 의해 제공되는 정보 유형을 기술하는 해당 구문(syntax) 정의를 갖는다.

 

 

 

 

 

bin binary (바이너리)

 

ces case exact string (case는 비교시 일치해야 한다)

 

cis case ignore string (case는 비교시 무시된다)

 

tel telephone number string (cis와 같지만 비교시 공백과 대시기호 `-' 는 무시된다)

 

dn distinguished name (구별되는 이름)

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,042 명
  • 현재 강좌수 :  35,846 개
  • 현재 접속자 :  121 명