Sun ONE 로고     이전     목차     색인     DocHome     다음    
Sun ONE Directory Server 관리 설명서



2장   디렉토리 항목 작성

이 장에서는 Directory Server 콘솔과 ldapmodify 및 ldapdelete 명령줄 유틸리티를 사용하여 구조 항목, 사용자 항목 및 참조의 기본 유형을 비롯한 디렉토리 내용을 수정하는 방법에 대해 설명합니다. Directory Server 5.2에 새로 추가된 선택 사항인 속성 암호화 기능을 사용하여 속성을 저장하는 방법에 대해서도 설명합니다.

디렉토리에 저장할 데이터 유형은 디렉토리 배포의 계획 단계에서 결정해야 합니다. 항목을 작성하고 기본 스키마를 수정하기 전에 먼저 Sun ONE Directory Server Deployment Guide의 Chapter 2, "Designing and Accessing Directory Data"를 읽어 보십시오.

이 장에서는 사용자가 LDAP 스키마와 이 스키마에서 정의하는 개체 클래스와 속성에 대해 어느 정도 알고 있다고 가정합니다. Directory Server에서 제공하는 모든 개체 클래스 및 속성 정의와 스키마에 대한 소개는 Sun ONE Directory Server Reference Manual의 Part 4, "Directory Server Schema"를 참조하십시오.



주

디렉토리를 수정하려면 적절한 ACI(Access Control Instruction)가 정의되어 있어야 합니다. 자세한 내용은 6장 "액세스 제어 관리를 참조하십시오.



이 장은 다음 내용으로 구성되어 있습니다.

구성 항목

디렉토리 서버는 모든 구성 정보를 아래 파일에 저장합니다.

ServerRoot/slapd-serverID/config/dse.ldif

LDIF(LDAP Data Interchange Format) 형식의 이 파일은 LDAP 항목, 속성 및 해당 값을 텍스트로 설명합니다. 이 파일의 디렉토리 서버 구성은 다음과 같은 항목으로 이루어져 있습니다.

  • cn=config 항목의 속성과 값
  • cn=config 아래의 하위 트리에 있는 모든 항목 및 해당 속성과 값. 항목 또는 속성이 있는지 여부가 중요할 수 있습니다.
  • 루트 항목("") 및 cn=monitor 항목의 개체 클래스와 ACI(Access Control Instruction). 이러한 항목의 다른 속성은 서버에서 생성됩니다.

Directory Server에서는 LDAP를 통해 모든 구성 설정을 읽고 쓸 수 있습니다. 기본적으로 디렉토리의 cn=config 분기는 관리 서버에 정의된 디렉토리 관리자(directory administrator) 및 디렉토리 관리자(directory manager)만 액세스할 수 있습니다. 관리자 사용자는 구성 항목을 다른 디렉토리 항목처럼 보고 수정할 수 있습니다.

cn=config 항목 아래에 새 항목을 작성할 경우 일반 항목보다 확장성이 낮은 데이터베이스인 dse.ldif 파일에 항목이 저장되므로 바람직하지 않습니다. 많은 항목, 특히 자주 업데이트되는 항목을 cn=config에 저장하면 성능이 저하됩니다. 하지만 구성 정보를 중앙 집중화하기 위해 복제 관리자(공급자 바인드 DN) 항목과 같은 특수 사용자 항목을 cn=config 아래에 저장하는 것은 도움이 될 수 있습니다.

콘솔에서 구성 수정

Directory Server 콘솔의 최상위 "구성" 탭을 사용하여 구성을 수정하는 것이 가장 좋습니다. 이 탭의 패널과 대화 상자는 신속하고 효율적으로 구성을 설정할 수 있도록 도와주는 작업 기반의 컨트롤을 제공합니다. 또한 콘솔 인터페이스는 사용자를 대신하여 복잡하고 상호 종속된 구성을 관리합니다.

콘솔의 구성 인터페이스에 대해서는 설명서 내의 "콘솔에서..."로 시작되는 절차에서 설명합니다. 이 절차에서는 "구성" 탭의 패널과 대화 상자를 사용하여 특정 관리 작업을 수행하는 방법을 소개합니다. 변경 사항을 적용하기 위해 서버를 다시 시작해야 하는 경우 및 구성 저장 방법은 인터페이스 자체에서 명확히 지정합니다.

명령줄에서 구성 수정

LDAP를 통해 cn=config 하위 트리를 액세스할 수 있으므로 ldapsearch, ldapmodify 및 ldapdelete 명령을 사용하여 서버 구성을 보고 수정할 수 있습니다. cn=config 항목 및 모든 하위 항목은 "명령줄에서 항목 관리"에 설명된 절차와 LDIF 형식을 사용하여 수정할 수도 있습니다.

하지만 각 항목의 의미, 속성 용도 및 허용되는 값을 명백히 이해해야 합니다. 이러한 중요 고려 사항에 대해서는 설명서 내의 "명령줄에서..."로 시작되는 절차에서 설명합니다. 이 절차에서는 설정할 수 있는 구성 항목 및 속성의 예를 소개합니다. 허용되는 값의 범위를 비롯한 모든
구성 항목 및 속성에 대한 자세한 내용은 Sun ONE Directory Server Reference Manual을 참조하십시오.

따라서 콘솔보다 명령줄에서 구성을 수정하는 것이 더 복잡하지만 콘솔에서 사용할 수 없는 구성 설정의 경우에는 명령줄 절차만 제공됩니다. 명령줄 도구를 사용하는 스크립트를 작성함으로써 명령줄 절차를 사용하여 구성 작업을 자동화할 수도 있습니다.

dse.ldif 파일 수정

dse.ldif 파일에는 서버를 시작하거나 다시 시작할 때 서버에서 읽고 사용하는 구성이 저장되어 있습니다. 이 파일의 LDIF 내용은 cn=config 항목과 해당 하위 트리이며, 사용자가 설치 중에 정의한 시스템에서만 파일을 읽고 쓸 수 있습니다.

파일 내용을 직접 편집하여 구성을 수정할 경우 오류 발생 가능성이 커지므로 바람직하지 않습니다. 다음과 같은 동작에 주의해야 합니다.

  • dse.ldif 파일은 시작 시 한 번만 읽혀집니다. 이후의 서버 구성은 메모리에 저장된 구성 항목의 LDAP 이미지를 사용하므로 시작 후의 파일 변경 사항은 다음에 파일을 다시 시작할 때까지 적용되지 않습니다.
  • 콘솔이나 명령줄에서 구성을 수정하면 구성의 LDAP 이미지가 변경됩니다. 일부 디렉토리 기능은 호출 시 현재 구성을 읽기 때문에 서버를 다시 시작할 필요가 없습니다.
  • 서버는 구성의 LDAP 이미지가 변경될 때마다 dse.ldif 파일을 작성합니다. 서버를 시작할 때만 구성을 읽는 디렉토리 기능도 있으므로 이렇게 파일을 새로 작성하여 변경 사항이 저장되도록 보장합니다.
  • 기존의 dse.ldif 파일은 dse.ldif.bak로 복사되어 기존의 dse.ldif.bak 파일을 덮어씁니다. 따라서 서버를 다시 시작하기 전에 LDAP를 통해 구성을 변경한 경우 dse.ldif 파일의 모든 수동 변경 사항은 손실됩니다.

  • 디렉토리를 성공적으로 시작한 후 dse.ldif 파일은 같은 위치의 dse.ldif.startOK로 복사됩니다. 잘못된 구성 변경으로 인해 서버를 시작할 수 없는 경우에는 이 파일을 사용하여 dse.ldif를 복원해야 합니다.

콘솔에서 항목 관리

Directory Server 콘솔의 "디렉토리" 탭과 항목 편집기 대화 상자를 사용하여 개별 항목을 추가, 수정 또는 삭제할 수 있습니다. 동시에 여러 개의 항목에 대해 작업하려면 "콘솔을 사용한 대량 작업"을 참조하십시오.

Directory Server 콘솔을 시작하고 사용자 인터페이스를 탐색하는 방법은 "Directory Server 콘솔 사용"을 참조하십시오.

디렉토리 항목 작성

Directory Server 콘솔은 디렉토리 항목을 작성하기 위한 다양한 사용자 정의 템플리트를 제공합니다. 각각의 템플리트는 특정 개체 클래스 유형의 사용자 정의 편집기입니다. 표 2-1에서는 각 사용자 정의 편집기에 사용된 개체 클래스를 보여줍니다.

표 2-1    항목 템플리트 및 해당 개체 클래스 

템플리트

개체 클래스

사용자

inetOrgPerson (작성 및 편집용)
organizationalPerson (편집용)
person (편집용)

그룹

groupOfUniqueNames 및 동적 그룹과 인증서 그룹에 사용할 수
있는 기타 개체 클래스

조직 구성 단위

organizationalUnit

역할

nsRoleDefinition 및 관리된 역할, 필터링된 역할 또는 중첩된
역할에 따른 기타 개체 클래스

서비스 클래스

cosSuperDefinition 및 클래스 서비스 유형에 따른 기타 개체
클래스

암호 정책

passwordPolicy

참조

referral

사용자 정의 편집기에는 해당 개체 클래스의 자주 사용되는 일부 선택 사항 속성과 모든 필수 속성을 나타내는 필드가 포함되어 있습니다. 이런 템플리트 중 하나를 사용하여 항목을 작성하려면 "사용자 정의 편집기에서 항목 작성"에 설명된 지침에 따라 수행합니다.
다른 유형의 항목을 작성하려면 "다른 유형의 항목 작성"을 참조하십시오.

사용자 정의 편집기에서 항목 작성

  1. Directory Server 콘솔의 최상위 "디렉토리" 탭에서 디렉토리 트리를 확장하여 새 항목의 부모가 될 항목을 표시합니다.
  2. 부모 항목을 마우스 오른쪽 버튼으로 누르고 "새로 만들기" 메뉴 항목을 선택한 다음 하위 메뉴에서 사용자, 그룹, 조직 구성 단위, 역할, 서비스 클래스, 암호 정책, 참조 등의 항목 유형을 선택합니다. 또는, 부모 항목을 마우스 왼쪽 버튼으로 눌러 선택한 다음 "개체 > 새로 만들기" 메뉴에서 항목 유형을 선택할 수도 있습니다. 선택한 항목 유형의 사용자 정의 편집기 대화 상자가 표시됩니다.
  3. 사용자 정의 편집기의 왼쪽 열에는 탭 목록이 있고 오른쪽에는 각 탭의 필드가 표시됩니다. 기본적으로 모든 사용자 정의 편집기는 새 항목의 이름 및 설명 필드가 있는 최상위
    "사용자" 또는 "일반" 탭이 선택된 상태로 열립니다.

    예를 들어 아래 그림은 사용자 항목의 사용자 정의 편집기를 보여줍니다.

그림 2-1    Directory Server 콘솔 - 사용자 항목의 사용자 정의 편집기

  1. 사용자 정의 편집기 필드에 제공할 속성 값을 입력합니다. 필드 이름 옆에 별표(*)로 표시된 모든 필수 속성에 값을 입력해야 합니다. 다른 필드는 비워둘 수 있습니다. 여러 값을 허용하는 필드에서는 Return을 입력하여 값을 구분할 수 있습니다.
  2. 각 항목 유형의 사용자 정의 편집기에 있는 특정 필드에 대한 자세한 내용을 보려면 "도움말" 버튼을 누릅니다. "사용자" 및 "조직 구성 단위" 편집기의 "언어" 탭에 대한 자세한 내용은 "언어 지원 속성 설정"을 참조하십시오.

    그룹, 역할 및 서비스 클래스 항목 작성에 대한 자세한 내용은 5장 "고급 항목 관리를 참조하십시오. 암호 정책 작성에 대한 자세한 내용은 7장 "사용자 계정 관리를 참조하십시오. 참조 작성에 대한 자세한 내용은 "참조 설정"을 참조하십시오.

  3. "확인"을 눌러 새 항목을 작성하고 사용자 정의 편집기 대화 상자를 닫습니다. 디렉토리 트리에 새 항목이 표시됩니다.
  4. 사용자 정의 편집기 대화 상자에서 각 개체 클래스의 선택 사항 속성 필드를 모두 제공하지는 않습니다. 사용자 정의 편집기에 표시되지 않은 선택 사항 속성을 추가하려면 "일반 편집기에서 항목 수정"에 설명된 지침에 따라 수행합니다.

다른 유형의 항목 작성

표 2-1에 열거된 개체 클래스 이외의 개체 클래스 항목을 작성하려면 아래 단계에 따라 수행합니다. 이 절차를 사용하여 디렉토리 스키마에 정의한 사용자 정의 개체 클래스 항목을 작성할 수도 있습니다.

  1. Directory Server 콘솔의 최상위 "디렉토리" 탭에서 디렉토리 트리를 확장하여 새 항목의 부모가 될 항목을 표시합니다.
  2. 부모 항목을 마우스 오른쪽 버튼으로 누르고 하위 메뉴에서 "새로 만들기 > 기타" 항목을 선택합니다. 또는, 부모 항목을 마우스 왼쪽 버튼으로 눌러 선택한 다음 "개체 > 새로 만들기 > 기타" 메뉴 항목을 선택할 수도 있습니다.
  3. "새 개체" 대화 상자가 표시됩니다.

  4. "새 개체" 대화 상자의 개체 클래스 목록에서 새 항목을 정의하는 개체 클래스를 선택한 다음 "확인"을 누릅니다.
  5. 표 2-1에 열거된 개체 클래스를 선택한 경우 해당 사용자 정의 편집기가 표시됩니다("사용자 정의 편집기에서 항목 작성" 참조). 다른 모든 경우에는 일반 편집기가 표시됩니다.

  6. 새 항목을 작성하는 경우 일반 편집기에는 선택한 개체 클래스의 각 필수 속성 필드가 포함되어 있습니다. 모든 필수 속성에 값을 입력해야 합니다. 일부 필드에는 일반 자리 표시자 값(예: New)이 포함되어 있으므로 항목에 적합한 값으로 바꿔야 합니다.
  7. 선택한 개체 클래스에 허용되는 기타 속성을 정의하려면 원하는 속성을 명시적으로 추가해야 합니다. 선택 사항 속성에 값을 제공하려면 다음을 수행합니다.
    1. "속성 추가" 버튼을 눌러 허용되는 속성 목록을 표시합니다.
    2. "속성 추가" 대화 상자에서 하나 이상의 속성을 선택하고 "확인"을 누릅니다.
    3. 일반 편집기에서 새 항목 이름 옆에 값을 입력합니다.

    이 대화 상자의 다른 컨트롤에 대한 자세한 내용은 "일반 편집기에서 항목 수정"을 참조하십시오.

  8. 기본적으로 필수 속성 중 하나가 이름 지정 속성으로 선택되어 일반 편집기의 항목 DN에 표시됩니다. 이름 지정 속성을 변경하려면 다음을 수행합니다.
    1. "변경" 버튼을 눌러 "이름 지정 속성 변경" 대화 상자를 표시합니다.
    2. 속성 테이블에서 새 항목의 DN에 사용할 하나 이상의 속성 옆에 있는 확인란을 선택합니다.
    3. "이름 지정 속성 변경" 대화 상자에서 "확인"을 누릅니다. 선택한 이름 지정 속성을 사용한 새 DN이 일반 편집기의 DN으로 표시됩니다.

  9. 일반 편집기에서 "확인"을 눌러 새 항목을 저장합니다.
  10. 디렉토리 트리에서 새 항목은 부모 항목의 자식으로 표시됩니다.

사용자 정의 편집기에서 항목 수정

표 2-1에 열거된 개체 클래스의 경우 해당 사용자 정의 편집기나 일반 편집기를 사용하여 항목을 편집할 수 있습니다. 사용자 정의 편집기를 사용하면 가장 일반적인 필드를 쉽게 액세스할 수 있으며 인터페이스를 통해 역할 또는 서비스 클래스 정의 속성과 같은 복잡한 속성 값을 간편하게 정의할 수 있습니다.

일반 편집기에서는 개체 클래스 추가, 허용되는 속성 추가, 여러 값을 갖는 속성 처리 등 항목에 대한 고급 작업을 수행할 수 있습니다. 일반 편집기를 사용하여 항목을 편집하려면 "일반 편집기에서 항목 수정"을 참조하십시오.



주

사용자 정의 편집기는 표 2-1에 열거된 개체 클래스를 편집할 때만 사용할 수 있습니다. 다른 구조적 개체 클래스(예: inetorgperson에서 상속한 사용자 정의 클래스)가 포함된 항목을 편집하려면 일반 편집기를 사용해야 합니다.

열거된 개체 클래스 중 하나와 보조 개체 클래스가 포함된 항목도 사용자 정의 편집기에서 관리할 수 있습니다. 하지만 보조 클래스로 정의된 속성은 사용자 정의 편집기에서 볼 수 없습니다. 보조 개체 클래스 정의는 Sun ONE Directory Server Reference Manual의 Chapter 9, "Object Classes"를 참조하십시오.



사용자 정의 편집기 호출

표 2-1에 열거된 개체 클래스를 가진 항목을 편집하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "디렉토리" 탭에서 디렉토리 트리를 확장하여 편집할 항목을 표시합니다.
  2. 항목을 두 번 누릅니다. 다음과 같은 대체 방법으로 항목의 사용자 정의 편집기를 호출할 수도 있습니다.
    • 항목을 마우스 오른쪽 버튼으로 누르고 "사용자 정의 편집기로 편집" 항목을 선택합니다.
    • 항목을 마우스 왼쪽 버튼으로 눌러 선택한 다음 "개체 > 사용자 정의 편집기로 편집" 메뉴 항목을 선택합니다.
    • 항목을 마우스 왼쪽 버튼으로 눌러 선택한 다음 Ctrl-P 단축키를 사용합니다.

    항목의 개체 클래스에 대한 사용자 정의 편집기가 표시됩니다. 예를 들어, 그림 2-1은 사용자 항목의 사용자 정의 편집기를 보여줍니다.

  3. 기본적으로 모든 사용자 정의 편집기는 새 항목의 이름 및 설명 필드가 있는 최상위 "사용자" 또는 "일반" 탭이 선택된 상태로 열립니다. 사용자 정의 편집기 필드에서 수정할 속성 값을 편집하거나 제거합니다. 필드 이름 옆에 별표(*)로 표시된 필수 속성 값은 수정할 수는 있지만 제거할 수 없습니다. 다른 필드는 비워둘 수 있습니다. 여러 값을 허용하는 필드에서는 Return을 입력하여 값을 구분할 수 있습니다.
  4. 왼쪽 열에서 다른 탭을 선택하여 해당 패널의 값을 수정합니다. 각 항목 유형의 사용자 정의 편집기에 있는 특정 필드에 대한 자세한 내용을 보려면 "도움말" 버튼을 누릅니다.

    "사용자" 및 "조직 구성 단위" 편집기의 "언어" 탭에 대한 자세한 내용은 "언어 지원 속성 설정"을 참조하십시오. 사용자 및 그룹 항목의 "계정" 탭에 있는 필드에 대해서는 7장 "사용자 계정 관리에서 설명합니다. Directory Server 동기화 서비스를 위해 NT 사용자 및 Posix 사용자 탭이 제공됩니다. 자세한 내용은 Sun 담당자에게 문의하십시오.

    그룹, 역할 및 서비스 클래스 항목 수정에 대한 자세한 내용은 5장 "고급 항목 관리를 참조하십시오. 암호 정책 수정에 대한 자세한 내용은 7장 "사용자 계정 관리를 참조하십시오. 참조 수정에 대한 자세한 내용은 "참조 설정"을 참조하십시오.

  5. "확인"을 눌러 항목의 변경 사항을 저장하고 사용자 정의 편집기 대화 상자를 닫습니다. 이름 지정 속성(예: 사용자 항목의 일반 이름)을 수정한 경우 해당 변경 사항이 디렉토리 트리에 반영됩니다.

언어 지원 속성 설정

사용자 및 조직 구성 단위 항목의 사용자 정의 편집기는 다국어 디렉토리에 대한 언어 지원을 제공합니다.

  1. "사용자 정의 편집기 호출"에 설명된 것처럼 항목의 사용자 정의 편집기를 엽니다.
  2. 왼쪽 열의 "언어" 탭을 누릅니다.
  3. 사용자 항목의 경우 드롭다운 목록에서 기본 설정 언어를 선택할 수 있습니다.
  4. 사용자 및 조직 구성 단위 항목의 경우 목록에 표시된 언어의 특정 필드에 현지화된 값을 입력할 수 있습니다. 언어를 선택한 다음 해당 언어에 하나 이상의 값을 입력합니다. 현지화된 값을 정의하면 목록의 언어 이름이 굵게 표시됩니다.
  5. 일부 언어에는 현지화된 값의 발음 표시를 입력할 수 있는 발음 필드도 있습니다.

  6. "확인"을 눌러 항목의 변경 사항을 저장하고 사용자 정의 편집기 대화 상자를 닫습니다.

일반 편집기에서 항목 수정

일반 편집기를 사용하면 콘솔에 로그인할 때 사용한 바인드 DN에 따라 읽기 가능한 모든 항목 속성을 보고, 쓰기 가능한 항목 속성을 편집할 수 있습니다. 또한, 속성을 추가하거나 제거하고 여러 값을 갖는 속성을 설정하며 항목의 개체 클래스를 관리할 수 있습니다. 속성을 추가하는 경우 이진 속성 및 언어 지원을 위한 하위 유형을 정의할 수도 있습니다.

일반 편집기 호출

디렉토리 항목의 일반 편집기를 호출하려면 다음을 수행합니다.

  1. Directory Server 콘솔의 최상위 "디렉토리" 탭에서 디렉토리 트리를 확장하여 편집할 항목을 표시합니다.
  2. 항목을 마우스 오른쪽 버튼으로 누르고 "일반 편집기로 편집" 항목을 선택합니다. 다음과 같은 대체 방법으로 일반 편집기를 호출할 수도 있습니다.
    • 항목을 마우스 왼쪽 버튼으로 눌러 선택한 다음 "개체 > 일반 편집기로 편집" 메뉴 항목을 선택합니다.
    • 표 2-1에 열거되지 않은 개체 클래스를 가진 항목을 두 번 누릅니다. 개체 클래스에 사용자 정의 편집기가 없는 경우 기본적으로 일반 편집기가 사용됩니다.

    아래 그림과 같은 일반 편집기가 표시됩니다.

그림 2-2    Directory Server 콘솔 - 일반 편집기

일반 편집기에서 항목 속성은 알파벳순으로 열거되며 각 텍스트 상자에 속성 값이 표시됩니다. 읽기 전용 및 작동 가능 속성을 비롯한 모든 속성이 표시됩니다. 오른쪽의 컨트롤을 사용하여 편집기의 디스플레이를 수정하고 속성 목록을 편집할 수 있습니다.

  • 선택 사항으로, "보기" 상자의 컨트롤을 사용하여 일반 편집기의 디스플레이를 수정할 수 있습니다.
    • 처음 스키마에 정의한 대로 속성 이름을 보려면 "속성 이름 표시" 옵션을 선택합니다. 속성 목록은 이름 알파벳순으로 다시 정렬됩니다.
    • 스키마에 정의한 대체 이름별로 속성을 열거하려면 "속성 설명 표시" 옵션을 선택합니다. 일반적으로 대체 이름은 속성을 보다 명시적으로 설명합니다. 속성 목록은 설명 알파벳순으로 다시 정렬됩니다.
    • 스키마에서 항목의 개체 클래스에 대해 명시적으로 허용하는 모든 속성을 열거하려면 "값을 가진 속성만 표시" 확인란을 선택 취소합니다. 항목에 extensibleObject 개체 클래스가 포함되어 있으면 모든 속성이 암묵적으로 허용되지만 표시되지는 않습니다. 기본적으로 값이 정의된 속성만 표시됩니다.
    • 속성 목록 아래에 항목의 고유 이름을 표시하거나 표시하지 않으려면 "DN 표시" 확인란을 선택하거나 선택 취소합니다.
    • "갱신" 버튼을 누르면 서버에 액세스하여 항목의 현재 내용에 따라 모든 속성 값을 업데이트합니다.



    주의

    "갱신" 버튼을 누르면 저장하지 않은 일반 편집기의 수정 사항이 즉시 제거됩니다.



    다음 절에서는 속성 값 설정, 개체 클래스 관리, 항목의 이름 지정 속성 변경 등의 컨트롤에 대해 설명합니다.

    속성 값 수정

    1. "일반 편집기 호출"에 설명된 것처럼 일반 편집기를 엽니다.
    2. 속성 목록을 스크롤하여 수정할 값을 누릅니다.
    3. 선택한 속성이 강조 표시되고 선택한 값이 포함된 텍스트 필드에 편집 커서가 나타납니다.

    4. 마우스와 키보드를 사용하여 텍스트를 원하는 값으로 편집합니다. 시스템 클립보드를 사용하여 이 필드의 텍스트를 복사하거나 잘라내어 붙여넣을 수도 있습니다.
    5. 속성이 읽기 전용이거나 속성을 수정할 수 있는 쓰기 권한이 없는 경우에는 텍스트 필드를 편집할 수 없습니다.

    6. 다른 값을 편집하거나 항목을 원하는 대로 수정한 다음 "확인"을 눌러 변경 사항을 저장하고 일반 편집기를 닫습니다.

    여러 값을 갖는 속성 편집

    디렉토리 스키마에서 여러 값을 갖는 것으로 정의된 속성의 경우 일반 편집기에 두 개 이상의 값 필드가 표시될 수 있습니다. 자세한 내용은 9장 "디렉토리 스키마 확장을 참조하십시오.

    여러 값을 갖는 속성에 새 값을 추가하려면 다음을 수행합니다.

    1. "일반 편집기 호출"에 설명된 것처럼 일반 편집기를 엽니다.
    2. 속성 목록을 스크롤하여 해당 속성이나 속성 값 중 하나를 누릅니다. 선택한 속성이 강조 표시되고 "값 추가" 버튼이 활성화됩니다. 선택한 속성이 여러 값을 갖는 것으로 정의되지 않았거나 읽기 전용인 경우 또는 속성을 수정할 수 있는 쓰기 권한이 없는 경우에는 버튼이 활성화되지 않습니다.
    3. "값 추가" 버튼을 누릅니다. 목록에 있는 속성 이름 옆에 새로운 빈 텍스트 필드가 표시됩니다.
    4. 새 텍스트 필드에 새로운 속성 값을 입력합니다. 시스템 클립보드를 사용하여 이 필드의 텍스트를 복사하거나 잘라내어 붙여넣을 수도 있습니다.
    5. 다른 값을 편집하거나 항목을 원하는 대로 수정한 다음 "확인"을 눌러 변경 사항을 저장하고 일반 편집기를 닫습니다.

    여러 값을 갖는 속성의 값을 제거하려면 다음을 수행합니다.

    1. "일반 편집기 호출"에 설명된 것처럼 일반 편집기를 엽니다.
    2. 속성 목록을 스크롤하여 제거할 특정 값을 누릅니다. 선택한 속성이 강조 표시되고 "값 삭제" 버튼이 활성화됩니다. 선택한 속성이 읽기 전용이거나 속성을 수정할 수 있는 쓰기 권한이 없는 경우에는 버튼이 활성화되지 않습니다.
    3. "값 삭제" 버튼을 누릅니다. 선택한 값이 포함된 텍스트 필드가 제거됩니다.
    4. 다른 값을 편집하거나 항목을 원하는 대로 수정한 다음 "확인"을 눌러 변경 사항을 저장하고 일반 편집기를 닫습니다.

    속성 추가

    항목에 속성을 추가하려면 이 속성이 필요하거나 허용되는 개체 클래스가 항목에 포함되어 있어야 합니다. 자세한 내용은 "개체 클래스 관리" 및 9장 "디렉토리 스키마 확장을 참조하십시오.

    항목에 속성을 추가하려면 다음을 수행합니다.

    1. "일반 편집기 호출"에 설명된 것처럼 일반 편집기를 엽니다.
    2. "값을 가진 속성만 표시" 옵션이 선택되어 있는지 확인합니다.
    3. "속성 추가" 버튼을 눌러 속성 목록이 있는 대화 상자를 표시합니다. 이 목록에는 항목에 정의된 개체 클래스에서 허용하는 속성만 포함되어 있습니다.
    4. "속성 추가" 대화 상자에서 추가할 속성을 하나 이상 선택합니다.
    5. 선택 사항으로, 대화 상자의 맨 위에 있는 드롭다운 목록에서 다음 하위 유형 중 한 개나 둘 모두를 선택할 수 있습니다.
      • 언어 하위 유형 - 속성 값에 사용된 언어를 표시하려면 이 하위 유형을 사용합니다. 한 속성을 다른 언어로 여러 번 추가하여 디렉토리에 현지화 정보를 저장할 수 있습니다.
      • 선택 사항으로, 언어 이외에 "발음" 하위 유형을 선택하여 이 속성 값에 해당 언어 값의 발음이 포함되어 있음을 나타낼 수도 있습니다.

      • 이진 하위 유형 - 속성에 이진 하위 유형을 지정하면 속성 값이 이진임을 나타냅니다. 이진 하위 유형을 지정하지 않고 속성에 이진 데이터를 저장할 수도 있지만, 이렇게 함으로써 클라이언트에 해당 속성 유형의 여러 변형이 있음을 나타낼 수 있습니다.

    6. 속성과 하위 유형(선택 사항)을 선택했으면 "확인"을 누릅니다. 속성은 일반 편집기의 목록에 알파벳순으로 추가됩니다.
    7. 새로운 속성 이름 옆의 빈 텍스트 필드에 새 속성 값을 입력합니다. 시스템 클립보드를 사용하여 이 필드의 텍스트를 복사하거나 잘라내어 붙여넣을 수도 있습니다.
    8. 다른 값을 편집하거나 항목을 원하는 대로 수정한 다음 "확인"을 눌러 변경 사항을 저장하고 일반 편집기를 닫습니다.

    속성 제거

    항목의 속성과 해당 값을 모두 제거하려면 다음을 수행합니다.

    1. "일반 편집기 호출"에 설명된 것처럼 일반 편집기를 엽니다.
    2. 속성 목록을 스크롤하여 제거할 속성 이름을 누릅니다. 선택한 속성이 강조 표시되고 "속성 삭제" 버튼이 활성화됩니다. 선택한 속성이 읽기 전용이거나 속성을 수정할 수 있는 쓰기 권한이 없는 경우에는 버튼이 활성화되지 않습니다.



    주

    일반 편집기를 사용하면 이 속성에 정의할 수 있는 개체 클래스에 필요한 속성을 제거할 수 있습니다. 필요한 개체 클래스 없이 항목을 저장하려고 하면 서버에서 이에 대한 응답으로 개체 클래스 위반을 반환합니다. 항목에서 정의하는 모든 개체 클래스의 필수 속성이 항목에 포함되어 있어야 합니다.



    1. "속성 삭제" 버튼을 누릅니다. 속성과 해당 텍스트 필드 값이 모두 제거됩니다.
    2. 다른 값을 편집하거나 항목을 원하는 대로 수정한 다음 "확인"을 눌러 변경 사항을 저장하고 일반 편집기를 닫습니다.

    개체 클래스 관리

    항목의 개체 클래스는 여러 값을 갖는 objectclass 속성으로 정의됩니다. 정의된 개체 클래스의 관리를 돕기 위해 이 속성을 수정하는 경우 일반 편집기는 특수 대화 상자를 제공합니다.

    항목에 개체 클래스를 추가하려면 다음을 수행합니다.

    1. "일반 편집기 호출"에 설명된 것처럼 일반 편집기를 엽니다.
    2. 속성 목록을 스크롤하여 objectclass 속성을 선택합니다. "값 추가" 버튼이 활성화됩니다. 이 항목의 개체 클래스를 수정할 수 있는 권한이 없는 경우에는 버튼이 활성화되지 않습니다.
    3. "값 추가" 버튼을 누릅니다.
    4. 항목에 추가할 수 있는 개체 클래스 목록이 포함된 "개체 클래스 추가" 대화 상자가 표시됩니다.

    5. 이 항목에 추가할 개체 클래스를 하나 이상 선택하고 "확인"을 누릅니다. 선택한 개체 클래스가 objectclass 속성 값 목록에 표시됩니다.
    6. 항목에 없는 속성이 새 개체 클래스에 필요하면 일반 편집기에서 해당 속성을 자동으로 추가합니다. 모든 필수 속성에 값을 입력해야 합니다.
    7. 다른 값을 편집하거나 항목을 원하는 대로 수정한 다음 "확인"을 눌러 변경 사항을 저장하고 일반 편집기를 닫습니다.

    항목의 개체 클래스를 제거하려면 다음을 수행합니다.

    1. "일반 편집기 호출"에 설명된 것처럼 일반 편집기를 엽니다.
    2. 속성 목록을 스크롤하여 제거할 objectclass 속성의 특정 값을 누릅니다. 스키마에서 선택한 개체 클래스의 제거를 허용하고 이 항목의 개체 클래스를 수정할 수 있는 권한이 있으면 "값 삭제" 버튼이 활성화됩니다.
    3. "값 삭제" 버튼을 누릅니다. 특정 개체 클래스가 제거됩니다.
    4. 개체 클래스를 제거하면 일반 편집기에서 자동으로 나머지 개체 클래스가 허용하지 않거나 필요로 하지 않는 속성을 제거합니다. 이름 지정 속성 중 하나를 제거하면 다른 속성이 자동으로 선택되며, 콘솔에서 이 변경 사항을 알려줍니다.

    5. 다른 값을 편집하거나 항목을 원하는 대로 수정한 다음 "확인"을 눌러 변경 사항을 저장하고 일반 편집기를 닫습니다.

    항목 이름 바꾸기

    이름 지정 속성은 고유 이름(DN)에 표시되는 항목의 속성 값 쌍으로, 항목의 기존 속성에서 선택됩니다. 이름 지정 속성을 수정하여 항목의 이름을 바꾸려면 다음을 수행합니다.

    1. "일반 편집기 호출"에 설명된 것처럼 일반 편집기를 엽니다.
    2. "변경" 버튼 옆의 텍스트에 이 항목의 현재 이름 지정 속성이 표시됩니다. "DN 표시" 확인란을 선택하면 속성 값 목록 아래의 DN에서 이러한 속성을 볼 수 있습니다.

    3. "변경" 버튼을 누릅니다. 이 항목의 이름을 바꿀 수 있는 권한이 없으면 버튼이 활성화되지 않습니다.
    4. "이름 지정 속성 변경" 대화 상자가 표시됩니다.

    5. 속성 목록을 스크롤하여 이 항목의 DN에 추가할 속성을 선택합니다. 이름 지정 속성에서 추가하거나 제거할 속성 옆에 있는 확인란을 선택하거나 선택 취소합니다.
    6. 동일한 부모 아래에 있는 항목은 각각 고유한 DN을 가져야 하므로 속성이나 속성 조합이 고유한 이름 지정 속성을 선택해야 합니다. DN이 고유하지 않은 항목은 서버에서 저장하지 않습니다. 관례상, 사용자를 나타내는 모든 항목은 같은 이름 지정 속성을 사용해야 합니다.

    7. "이름 지정 속성 변경" 대화 상자에서 "확인"을 누릅니다. 일반 편집기에 이 항목의 새 DN이 표시됩니다.
    8. 다른 값을 편집하거나 항목을 원하는 대로 수정한 다음 "확인"을 눌러 변경 사항을 저장하고 일반 편집기를 닫습니다.

    디렉토리 항목 삭제

    Directory Server 콘솔에서 항목을 삭제하려면 다음을 수행합니다.

    1. Directory Server 콘솔의 최상위 "디렉토리" 탭에서 디렉토리 트리를 확장하여 제거할 항목을 표시합니다.
    2. 하위 트리의 루트 노드를 선택하여 디렉토리의 전체 분기를 삭제할 수도 있습니다.

    3. 항목을 마우스 오른쪽 버튼으로 누르고 "삭제" 항목을 선택합니다. 다음과 같은 대체 방법으로 항목을 삭제할 수도 있습니다.
      • 항목을 마우스 왼쪽 버튼으로 눌러 선택한 다음 "편집 > 삭제" 메뉴 항목을 선택합니다. 이 항목을 디렉토리의 다른 위치에 붙여넣으려면 "편집 > 잘라내기" 메뉴 항목을 사용할 수도 있습니다.
      • 항목을 마우스 왼쪽 버튼으로 눌러 선택한 다음 Ctrl-D 단축키를 사용합니다.

      "보기 > 레이아웃" 옵션을 선택하여 Directory Server 콘솔의 오른쪽 패널에 자식을 표시한 경우 Ctrl+누름 또는 Shift+누름 조합을 사용하여 삭제할 항목을 여러 개 선택할 수 있습니다.

    4. 항목 또는 하위 트리와 해당 내용을 모두 삭제할 것을 확인합니다.
    5. 선택한 항목은 즉시 삭제되며 실행 취소할 수 없습니다. 두 개 이상의 항목을 삭제하면 콘솔에서 삭제한 항목 수와 발생한 오류를 알리는 정보 대화 상자를 표시합니다.

    콘솔을 사용한 대량 작업

    LDIF 파일을 사용하여 여러 항목을 추가하거나 혼합된 작업을 수행하거나 전체 접미사를 가져올 수 있습니다. LDIF 파일과 Directory Server 콘솔을 사용하여 항목을 추가하려면 다음을 수행합니다.

    1. 이전 절에서 설명한 구문을 사용하여 LDIF 파일에 항목 또는 작업을 정의합니다. 단순히 항목을 추가하거나 접미사를 초기화하는 경우 changetype 키워드를 사용할 필요 없이 LDIF 파일에 항목만 추가해도 됩니다. 혼합된 작업을 수행하는 경우에는 모든 DN 뒤에 changetype 및 필요에 따라 특정 작업이나 속성 값이 있어야 합니다.
    2. Directory Server 콘솔에서 LDIF 파일을 가져옵니다. 자세한 내용은 "LDIF 파일 가져오기"를 참조하십시오.
    3. 혼합된 작업을 수행하는 경우 서버에서 모든 LDIF 작업을 수행하도록 "LDIF 가져오기" 대화 상자에서 "추가만" 확인란을 선택 취소합니다.

    명령줄에서 항목 관리

    ldapmodify 및 ldapdelete 명령줄 유틸리티는 디렉토리 내용을 추가, 편집 및 삭제하는 모든 기능을 제공합니다. 두 유틸리티를 사용하여 서버의 구성 항목과 사용자 항목의 데이터를 모두 관리할 수 있으며, 두 개 이상의 디렉토리를 대량으로 관리하는 스크립트를 작성할 수도 있습니다.

    ldapmodify 및 ldapdelete는 본 설명서의 절차에서 주로 사용하는 명령입니다. 다음 절에서는 이러한 관리 절차를 수행하는 데 필요한 모든 기본 작업에 대해 설명합니다. 기능, 모든 명령줄 옵션, 명령의 반환 값 등에 대한 자세한 내용은 Sun ONE Directory Server Resource Kit Tools Reference의 Chapter 4, "ldapmodify" 및 Chapter 5, "ldapdelete"에서 설명합니다.

    명령줄 유틸리티에 대한 입력은 반드시 명령줄 또는 입력 파일을 통해 직접 제공할 수 있는 LDIF(LDAP Data Interchange Format) 형식이어야 합니다. LDIF는 항목, 속성 및 해당 값의 텍스트 표시로 RFC 2849(http://www.ietf.org/rfc/rfc2849.txt)에 설명되어 있는 표준 형식입니다. 아래 절에서는 LDIF 입력에 대해 설명하고 이후 절에서는 각 수정 유형에 대한 LDIF를 소개합니다.

    LDIF 입력 제공

    명령줄 유틸리티에 LDIF 입력을 제공하는 경우 명령줄 입력, 특수 문자, 스키마 검사, 항목의 순서 및 크기에 관해 특히 주의해야 몇 가지 사항이 있습니다.

    명령줄에서 LDIF 입력 종료

    ldapmodify 유틸리티와 ldapdelete 유틸리티는 파일을 읽는 것과 같은 방법으로 명령 뒤에 입력된 LDIF 명령문을 읽습니다. 입력이 끝나면 셸 프로그램에서 EOF 이스케이프 시퀀스로 인식하는 문자를 입력하십시오.

    일반적으로 EOF 이스케이프 시퀀스는 운영 체제에 따라 다음 중 하나가 됩니다.

    • UNIX - 대체로 Ctrl-D가 사용됩니다(^D).
    • Windows NT - 대체로 Ctrl-Z가 사용되고 뒤에 캐리지 리턴이 옵니다(^Z<Return>).

    아래 예제는 UNIX 시스템에서 ldapmodify 명령에 대한 입력이 어떻게 종료되는지 보여줍니다.

    prompt> ldapmodify -h host -p port -D bindDN -w password
    dn: cn=Barry Nixon,ou=People,dc=example,dc=com
    changetype: modify
    delete: telephonenumber
    ^D
    prompt>

    단순성과 이식 가능성을 위해 본 설명서의 예제에서는 프롬프트나 EOF 시퀀스를 표시하지 않습니다.

    특수 문자 사용

    명령줄에 명령 옵션을 입력할 때 명령줄 해석기에 특별한 의미가 있는 문자(예: 공백( ), 별표 [*], 역슬래시 [\] 등)를 이스케이프해야 할 수도 있습니다. 예를 들어, DN에는 공백이 포함되어 있는 경우가 많으므로 대부분의 UNIX 셸에서 DN 값을 다음과 같이 큰따옴표("")로 묶어야 합니다.

    -D "cn=Barbara Jensen,ou=Product Development,dc=example,dc=com"

    사용하는 명령줄 해석기에 따라 작은따옴표나 큰따옴표를 이스케이프 문자로 사용해야 합니다. 자세한 내용은 운영 체제 설명서를 참조하십시오.

    또한, 쉼표가 포함된 DN을 사용하는 경우 역슬래시(\)를 사용하여 쉼표를 이스케이프해야 합니다. 예를 들면 다음과 같습니다.

    -D "cn=Patricia Fuentes,ou=People,o=example.com Bolivia\,S.A."

    ldapmodify 명령 뒤의 LDIF 명령문은 셸이 아닌 명령에서 해석되므로 특별히 주의할 필요가 없습니다.

    스키마 검사

    항목을 추가하거나 수정하는 경우 이 항목의 개체 클래스에서 필요로 하거나 허용하는 속성을 사용해야 하며 속성 값이 정의된 구문과 일치해야 합니다.

    항목을 수정하면 Directory Server는 수정되는 항목만이 아닌 전체 항목에 대해 스키마 검사를 수행합니다. 따라서 항목의 개체 클래스 또는 속성이 스키마에 맞지 않으면 작업이 실패할 수 있습니다. 자세한 내용은 "스키마 검사"를 참조하십시오.

    LDIF 항목 정렬

    명령줄 또는 파일의 항목 추가용 LDIF 텍스트 시퀀스에서 부모 항목은 항상 자식보다 앞에 나와야 합니다. 이렇게 하면 서버에서 LDIF 텍스트를 처리할 때 자식 항목보다 먼저 부모 항목을 작성하게 됩니다.

    예를 들어, 디렉토리에 없는 항목을 People 하위 트리에 작성하려면 다음과 같이 People 컨테이너를 나타내는 항목이 이 하위 트리의 항목보다 앞에 나와야 합니다

    dn: dc=example,dc=com
    dn: ou=People,dc=example,dc=com
    ...
    People subtree entries
    ...
    dn: ou=Group,dc=example,dc=com
    ...
    Group subtree entries
    ...

    ldapmodify 명령줄 유틸리티를 사용하여 디렉토리에 어떤 항목이든 작성할 수 있지만 접미사 루트나 하위 접미사는 필수 구성 항목과 연결해야 하는 특수 항목입니다. 새로운 루트 접미사나 하위 접미사 및 관련된 구성 항목을 추가하려면 "명령줄에서 접미사 작성"을 참조하십시오.

    대규모 항목 관리

    대규모 속성 값을 가진 항목을 추가하거나 수정하려면 먼저 서버에서 이 값을 허용하도록 구성해야 합니다. 서버의 오버로드를 방지하기 위해 클라이언트는 기본적으로 2MB보다 큰 데이터를 보낼 수 없도록 제한됩니다.

    이보다 큰 항목을 추가하거나 속성 값을 이보다 큰 값으로 수정하면 서버에서 작업을 거부하고 즉시 연결을 닫습니다. 예를 들어, 하나 이상의 항목 속성에 멀티미디어 내용과 같은 이진 데이터가 있으면 이 제한을 초과할 수 있습니다.

    또한 대규모 정적 그룹을 정의하는 항목에는 많은 구성원이 포함될 수 있으므로 해당 표시가 이 제한을 초과합니다. 하지만 이러한 그룹은 성능상 바람직하지 않으며 디렉토리 구조를 다시 설계하는 것이 좋습니다. 자세한 내용은 "그룹 관리"를 참조하십시오.

    클라이언트에서 보내는 데이터에 대한 서버의 크기 제한을 수정하려면 다음을 수행합니다.

    1. cn=config 항목의 nsslapd-maxbersize 속성에 새 값을 설정합니다.
    2. 콘솔에서 이 작업을 수행하려면 관리자 또는 디렉토리 관리자로 로그온하여 "일반 편집기에서 항목 수정"에 설명된 지침에 따라 cn=config 항목을 편집합니다. nsslapd-maxbersize 속성을 클라이언트에서 한 번에 보낼 수 있는 최대 바이트 수로 설정하십시오.
    3. 명령줄에서 이 작업을 수행하려면 아래 명령을 실행합니다.
    4. ldapmodify -h host -p port -D "cn=Directory Manager" -w password
      dn: cn=config
      changetype: modify
      replace: nsslapd-maxbersize
      nsslapd-maxbersize: sizeLimitInBytes

      자세한 내용은 Sun ONE Directory Server Reference Manual의 Chapter 4, "nsslapd-maxbersize"를 참조하십시오.

    5. "Directory Server 시작 및 중지"에 설명된 것처럼 서버를 다시 시작합니다.

    오류 처리

    명령줄 도구는 LDIF 입력의 모든 항목 또는 수정 사항을 순차적으로 처리합니다. 기본 동작은 처음 오류가 발생할 때 처리를 중지하는 것입니다. 오류에 관계 없이 모든 입력을 계속 처리하려면 -c 옵션을 사용하십시오. 도구 출력에 오류 조건이 표시됩니다.

    위에 열거된 주의 사항 외에 일반적으로 발생하는 오류는 다음과 같습니다.

    • 작업에 대한 적절한 액세스 권한이 없는 경우
    • 디렉토리에 있는 DN을 가진 항목을 추가하는 경우
    • 존재하지 않는 부모 아래에 항목을 추가하는 경우

    오류 조건 및 이를 방지하는 방법에 대한 자세한 내용은 Sun ONE Directory Server Resource Kit Tools Reference의 Chapter 4, "ldapmodify" 및 Chapter 5, "ldapdelete"를 참조하십시오.

    ldapmodify를 사용한 항목 추가

    ldapmodify의 -a 옵션을 사용하여 하나 이상의 항목을 디렉토리에 추가할 수 있습니다.
    아래 예제에서는 사용자가 포함될 구조적 항목을 작성한 후에 사용자 항목을 작성합니다.

    ldapmodify -a -h host -p port -D "cn=Directory Manager" -w password
    dn: ou=People,dc=example,dc=com
    objectclass: top
    objectclass: organizationalUnit
    ou: People
    description: Container for user entries

    dn: uid=bjensen,ou=People,dc=example,dc=com
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetorgPerson
    uid: bjensen
    givenName: Barbara
    sn: Jensen
    cn: Babs Jensen
    telephoneNumber: (408) 555-3922
    facsimileTelephoneNumber: (408) 555-4000
    mail: bjensen@example.com
    userPassword: clearPassword

    -D 옵션과 -w 옵션은 각각 이 항목을 작성할 수 있는 권한이 있는 사용자의 바인드 DN과 암호를 제공합니다. -a 옵션은 LDIF의 모든 항목이 추가된다는 것을 나타냅니다. 그런 후에 각 항목이 해당 DN과 속성 값으로 지정되고 항목 사이에는 빈 줄이 들어갑니다. ldapmodify 유틸리티는 입력된 항목을 작성하고 오류가 발생하면 이를 보고합니다.

    관례상, 항목의 LDIF는 다음과 같은 순서로 속성을 열거합니다.

    • 개체 클래스 목록
    • 이름 지정 속성. 이 속성은 DN에 사용되며, 반드시 필수 속성일 필요는 없습니다.
    • 모든 개체 클래스의 필수 속성 목록
    • 허용되는 속성 중에서 추가할 모든 속성

    userpassword 속성 값을 입력할 때는 일반 텍스트로 암호를 지정하십시오. 서버에서 이 값을 암호화하여 암호화된 값만 저장합니다. LDIF 파일에 표시되는 일반 텍스트 암호를 보호하려면 읽기 권한을 제한해야 합니다.

    명령줄에서 -a 옵션을 지정할 필요가 없는 다른 형식의 LDIF를 사용할 수도 있습니다. 이 형식은 다음 절에서 설명하는 항목 수정 명령문과 항목 추가 명령문을 결합할 수 있다는 이점이 있습니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: ou=People,dc=example,dc=com
    changetype: add
    objectclass: top
    objectclass: organizationalUnit
    ou: People
    description: Container for user entries

    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: add
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetorgPerson
    uid: bjensen
    givenName: Barbara
    sn: Jensen
    cn: Barbara Jensen
    telephoneNumber: (408) 555-3922
    facsimileTelephoneNumber: (408) 555-4000
    mail: bjensen@example.com
    userPassword: clearPassword

    changetype: add 키워드는 지정된 DN의 항목이 이후의 모든 속성을 사용하여 작성되어야 함을 나타냅니다. 다른 모든 옵션과 LDIF 규정은 동일합니다.

    두 예제에서 모두 -f filename 옵션을 사용하여 단말기 입력이 아닌 파일에서 LDIF를 읽을 수도 있습니다. -a 옵션의 사용에 따라 LDIF 파일에는 단말기 입력과 동일한 형식이 포함되어야 합니다.

    ldapmodify를 사용한 항목 수정

    기존 항목의 속성과 해당 값을 추가, 교체 또는 제거하려면 changetype: modify 키워드를 사용합니다. changetype: modify를 지정하는 경우 항목의 수정 방법을 나타내는 하나 이상의 변경 작업도 함께 제공해야 합니다. 아래 예제에서는 가능한 LDIF 변경 작업 중 세 개를 보여줍니다.

    dn: entryDN
    changetype: modify
    add: attribute
    attribute
    : value
    ...
    -
    replace: attribute
    attribute
    : newValue
    ...
    -
    delete: attribute
    [attribute: value]
    ...

    같은 항목에 대한 작업을 구분하려면 하이펀(-)을 사용하고 다른 항목에 대한 작업 그룹을 구분하려면 빈 줄을 사용합니다. 각 작업에 여러 개의 attribute: value 쌍을 지정하여 동시에 추가, 교체 또는 삭제할 수도 있습니다.

    속성 값 추가

    아래 예제에서는 어떻게 동일한 add LDIF 구문을 사용하여 여러 값을 갖는 기존 속성 및 존재하지 않는 속성에 값을 추가할 수 있는지 보여줍니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: modify
    add: cn
    cn: Babs Jensen
    -
    add: mobile
    mobile: (408) 555-7844
    mobile: (408) 555-7845

    다음과 같은 조건에 부합될 경우 이 작업은 실패할 수 있으며 서버에서 오류를 반환합니다.

    • 지정된 값이 해당 속성에 이미 있는 경우
    • 값이 속성에 정의된 구문과 일치하지 않는 경우
    • 항목의 개체 클래스에서 해당 속성 유형을 필요로 하지 않거나 허용하지 않는 경우
    • 속성 유형이 여러 값을 갖지 않으며 이미 값이 있는 경우

    이진 속성 값 추가

    이진 속성 값은 attribute;binary 하위 유형으로 표시됩니다. 필수 속성은 아니지만 이 하위 유형은 사용자 및 클라이언트가 속성 내용을 파악할 수 있도록 도와줍니다. ldapmodify 명령과 함께 사용된 모든 LDIF 명령문의 속성 이름에 적절한 하위 유형을 추가할 수 있습니다.

    이진 값을 입력하려면 LDIF 텍스트에 직접 입력하거나 다른 파일에서 읽어올 수 있습니다.
    아래 예제에서는 파일의 값을 읽어오는 LDIF 구문을 보여줍니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    version: 1
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: modify
    add: jpegphoto;binary
    jpegphoto;binary: < file:///path/filename.jpg

    < 앞뒤의 공백은 중요하며 표시된 대로 정확하게 입력해야 합니다. < 구문을 사용하여 파일 이름을 지정하려면 version: 1줄에서 LDIF 명령문을 시작해야 합니다. ldapmodify는 이 명령문을 처리할 때 지정된 파일의 전체 내용에서 읽어온 값을 속성 값으로 설정합니다.

    언어 하위 유형이 지정된 속성 추가

    속성의 언어 및 발음 하위 유형은 현지화된 값을 지정합니다. 속성에 언어 하위 유형을 지정하면 다음과 같이 속성 이름에 하위 유형이 추가됩니다.

    attribute;lang-CC

    여기서 attribute는 기존 속성 유형이고 CC는 언어를 지정하는 두 문자 국가 코드입니다. 선택 사항으로 언어 하위 유형에 발음 하위 유형을 추가하여 현지화된 값의 발음을 지정할 수도 있습니다. 이 경우 속성 이름은 아래와 같이 표시됩니다.

    attribute;lang-CC;phonetic

    하위 유형이 지정된 속성에 작업을 수행하려면 해당 하위 유형을 명시적으로 일치시켜야 합니다. 예를 들어, lang-fr 언어 하위 유형이 지정된 속성 값을 수정하려면 다음과 같이 수정 작업에 lang-fr을 추가해야 합니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: modify
    replace: homePostalAddress;lang-fr
    homePostalAddress;lang-fr: 34\, avenue des Champs-Elys럆s

    속성 값 수정

    아래 예제에서는 LDIF의 replace 구문을 사용하여 어떻게 한 개의 값을 갖는 속성과 여러 값을 갖는 속성의 모든 값을 수정할 수 있는지 보여줍니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: modify
    replace: sn
    sn: Morris
    -
    replace: cn
    cn: Barbara Morris
    cn: Babs Morris

    replace 구문을 사용하면 지정된 속성의 현재 값은 모두 제거되고 제공된 모든 값이 추가됩니다.

    속성 값 삭제

    아래 예제에서는 속성을 완전히 삭제하는 방법과 여러 값을 갖는 속성의 값 하나만 삭제하는 방법을 보여줍니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: modify
    delete: facsimileTelephoneNumber
    -
    delete: cn
    cn: Babs Morris

    attribute: value 쌍을 지정하지 않고 delete 구문을 사용하면 이 속성의 모든 값이 제거됩니다. attribute: value 쌍을 지정하면 해당 값만 제거됩니다.

    여러 값을 갖는 속성의 값 하나만 수정

    ldapmodify 명령을 사용하여 여러 값을 갖는 속성의 값 하나만 수정하려면 아래 예제와 같이 두 가지 작업을 수행해야 합니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: modify
    delete: mobile
    mobile: (408) 555-7845
    -
    add: mobile
    mobile: (408) 555-5487

    ldapmodify를 사용한 항목 이름 바꾸기

    항목의 이름을 바꾸면 상대적인 고유 이름(RDN)이 수정됩니다. RDN은 항목의 DN에서 가장 왼쪽에 있는 attribute=value 쌍입니다. 이 속성을 이름 지정 속성이라고 하며 항목의 모든 속성에서 값이 동일해야 합니다.

    항목의 이름을 바꿀 때 DN의 다른 부분을 변경하면 항목이 다른 하위 트리로 이동하기 때문에 주의해야 합니다. 완전히 다른 분기로 항목을 이동하려면 이전 항목의 속성을 사용하여 다른 하위 트리에 새 항목을 작성한 다음 이전 항목을 삭제해야 합니다.

    또한, 부모의 RDN이 자식의 DN에 사용되고 DN에 있는 모든 항목이 존재해야 하기 때문에 자식이 있는 항목은 이름을 바꿀 수 없습니다. 전체 트리를 이동하려면 새로운 위치에 다시 작성해야 합니다.

    LDIF 명령문을 사용하여 항목의 이름을 바꾸려면 changetype: modrdn 키워드를 사용합니다. 아래 예제에서는 Barbara Morris에 대한 uid 이름 지정 속성의 이름을 바꿉니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: modrdn
    newrdn: uid=bmorris
    deleteoldrdn: 1

    newrdn 줄은 attribute=value 구문을 사용하는 새로운 이름 지정 속성을 제공합니다. deleteoldrdn 줄은 새 속성을 추가하는 동시에 이전의 이름 지정 속성을 항목에서 제거할지 여부를 나타냅니다(1은 예, 0은 아니요). 두 경우 모두, 새로운 이름 지정 속성이 항목에 추가됩니다.

    ldapdelete를 사용한 항목 삭제

    디렉토리에서 항목을 삭제하려면 ldapdelete 명령줄 유틸리티를 사용합니다. 이 유틸리티는 디렉토리 서버에 바인드하여 해당 DN으로 지정된 하나 이상의 항목을 삭제합니다. 지정된 항목을 삭제할 수 있는 권한이 있는 바인드 DN을 제공해야 합니다.

    부모 항목의 이름을 바꿀 수 없는 것과 같은 이유로 자식이 있는 항목은 삭제할 수 없습니다. LDAP 프로토콜은 자식 항목의 부모가 없는 상황을 허용하지 않습니다. 예를 들어, 조직 구성 단위 항목을 삭제하려면 먼저 조직 구성 단위에 속해 있는 모든 항목을 삭제해야 합니다.



    주의

    o=NetscapeRoot 접미사는 삭제하지 마십시오. Sun ONE 관리 서버는 설치된 Sun ONE 서버에 대한 정보를 저장할 때 이 접미사를 사용합니다. 이 접미사를 삭제하면 디렉토리 서버를 비롯한 모든 Sun ONE 서버를 다시 설치해야 할 수 있습니다.



    아래 예제에서는 조직 구성 단위의 항목이 한 개뿐이므로 이 항목을 삭제한 후에 부모 항목을 삭제할 수 있습니다.

    ldapdelete -h host -p port -D "cn=Directory Manager" -w password
    uid=bjensen,ou=People,dc=example,dc=com
    ou=People,dc=example,dc=com

    ldapmodify를 사용한 항목 삭제

    changetype: delete 키워드를 ldapmodify 유틸리티와 함께 사용하여 항목을 삭제할 수도 있습니다. 이 경우 ldapdelete를 사용할 때와 같은 제한이 모두 적용됩니다. 항목을 삭제하는 LDIF 구문은 한 개의 LDIF 파일로 혼합된 작업을 수행할 수 있다는 이점이 있습니다.

    아래 예제에서는 이전 예제와 동일한 삭제 작업을 수행합니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: delete

    dn: ou=People,dc=example,dc=com
    changetype: delete

    참조 설정

    참조를 사용하여 클라이언트 응용 프로그램에서 로컬에 없는 정보를 구하기 위해 연결할 서버를 알려줄 수 있습니다. 참조란 Directory Server에서 작업 결과 대신 클라이언트로 반환하는 원격 접미사 또는 항목에 대한 포인터입니다. 이 경우 클라이언트는 참조에 지정된 원격 서버에 대해 다시 작업을 수행해야 합니다. 리디렉션은 다음 세 가지 경우에 발생합니다.

    • 클라이언트 응용 프로그램에서 로컬 서버에 없는 항목을 요청하면 서버는 기본 참조를 반환합니다.
    • 유지관리나 보안상의 이유로 전체 접미사가 오프라인 상태인 경우에는 서버에서 해당 접미사에 정의된 참조를 반환합니다. 접미사 수준의 참조에 대해서는 "액세스 권한 및 참조 설정"에서 설명합니다. 또한 클라이언트에서 쓰기 작업을 요청하면 접미사의 읽기 전용 복제본은 마스터 서버에 대한 참조를 반환합니다.
    • 스마트 참조 항목을 작성할 수 있습니다. 클라이언트에서 명시적으로 스마트 참조에 액세스하면 서버는 자신이 정의한 참조를 반환합니다. Directory Server 콘솔에서 자동으로 스마트 참조를 따르기 때문에 스마트 참조는 최상위 "디렉토리" 탭에 로컬 항목처럼 표시됩니다.

    참조는 항상 다른 서버의 호스트 이름, 포트 번호 및 DN(선택 사항)이 포함된 LDAP URL 형식으로 지정됩니다. 자세한 내용은 Sun ONE Directory Server Reference Manual의 Appendix D, "LDAP URLs"을 참조하십시오. 디렉토리 배포 시 참조를 사용하는 방법에 대한 개념 정보는 Sun ONE Directory Server Deployment Guide를 참조하십시오.

    다음 절에서는 디렉토리의 기본 참조 및 스마트 참조를 정의하는 절차에 대해 설명합니다.

    기본 참조 설정

    클라이언트 응용 프로그램이 사용자 디렉토리의 접미사에 존재하지 않는 DN에 대한 작업을 제출하면 기본 참조가 해당 클라이언트 응용 프로그램으로 반환됩니다. 기본 참조는 디렉토리의 모든 접미사에 적용되기 때문에 전역 참조라고도 불립니다. 서버는 정의된 모든 참조를 반환하지만 반환 순서는 정의되어 있지 않습니다.

    콘솔에서 기본 참조 설정

    1. Directory Server 콘솔의 최상위 "구성" 탭에 있는 구성 트리의 루트에서 서버 노드를 선택한 다음 오른쪽 패널에서 "네트워크" 탭을 선택합니다.
    2. "참조 반환" 확인란을 선택하고 텍스트 필드에 LDAP URL을 입력합니다. 또는 "URL 생성"을 눌러 LDAP URL의 정의를 도와줄 대화 상자를 표시합니다. 보안 포트에 대한 LDAP URL의 예는 아래와 같습니다.
    3. ldaps://east.example.com:636/dc=example,dc=com

      다음과 같이 여러 개의 참조 URL을 공백과 인용 부호로 구분하여 입력할 수도 있습니다.

      "ldap://east.example.com:389/" "ldap://backup.example.com:389/"

    4. "저장"을 누르면 변경 사항이 즉시 적용됩니다.

    명령줄에서 기본 참조 설정

    ldapmodify 명령줄 유틸리티를 사용하여 디렉토리 구성 파일의 cn=config 항목에 하나 이상의 기본 참조를 추가 또는 교체합니다. 예를 들면 다음과 같습니다.

    ldapmodify -a -h host -p port -D "cn=Directory Manager" -w password
    dn: cn=config
    changetype: modify
    replace: nsslapd-referral
    nsslapd-referral: ldap://east.example.com:389/
    nsslapd-referral: ldap://backup.example.com:389/

    서버를 다시 시작할 필요는 없습니다.

    스마트 참조 작성

    스마트 참조를 사용하면 디렉토리 항목이나 디렉토리 트리를 특정 LDAP URL에 매핑할 수 있습니다. 스마트 참조를 통해 클라이언트 응용 프로그램에서 특정 서버나 특정 서버의 특정 항목을 참조하도록 설정할 수 있습니다.

    스마트 참조는 동일한 DN을 가진 다른 서버의 실제 항목을 가리키는 경우가 많습니다. 하지만 동일한 서버나 다른 서버의 모든 항목에 대해 스마트 참조를 정의할 수 있습니다. 예를 들어 다음과 같은 DN을 가진 항목을 정의할 수 있습니다.

    uid=bjensen,ou=People,dc=example,dc=com

    이 항목을 east.example.com 서버의 다른 항목을 가리키는 스마트 참조로 정의하려면
    다음과 같이 입력합니다.

    cn=Babs Jensen,ou=Sales,o=east,dc=example,dc=com

    디렉토리는 RFC 2251 섹션 4.1.11에 지정된 표준에 따라 스마트 참조를 사용합니다(http://www.ietf.org/rfc/rfc2251.txt).

    콘솔에서 스마트 참조 작성

    1. Directory Server 콘솔의 최상위 "디렉토리" 탭에서 디렉토리 트리를 확장하여 스마트 참조의 부모가 될 항목을 표시합니다.
    2. 부모 항목을 마우스 오른쪽 버튼으로 누르고 "새로 만들기 > 참조" 메뉴 항목을 선택합니다. 또는, 부모 항목을 마우스 왼쪽 버튼으로 눌러 선택한 다음 "개체 > 새로 만들기 > 참조" 메뉴 항목을 선택할 수도 있습니다. 참조 항목의 사용자 정의 편집기 대화 상자가 표시됩니다.
    3. 참조의 사용자 정의 편집기가 표시됩니다.

    4. 편집기의 "일반" 탭에서 참조 이름을 입력하고 드롭다운 목록에서 이름 지정 속성을 선택합니다. 이 이름은 선택한 이름 지정 속성 값이 됩니다. 선택 사항으로, 이 참조에 대한 설명 문자열을 입력할 수도 있습니다.
    5. 편집기의 "URL" 탭에서 "구성" 버튼을 눌러 스마트 참조의 URL을 정의합니다. 표시되는 대화 상자에 LDAP URL의 요소를 입력합니다.
    6. URL은 참조 항목이 저장된 디렉토리 서버의 호스트 이름과 LDAP 포트 번호, 서버에 있는 대상 항목의 DN 등으로 구성됩니다. 기본적으로 대상 DN은 스마트 참조 항목의 DN과 같으며 접미사, 하위 트리 또는 리프 항목 중 하나일 수 있습니다.

    7. "LDAP URL 구성" 대화 상자에서 "확인"을 누릅니다. 새 참조 텍스트 상자에 이 URL이 표시됩니다.
    8. 새 참조 텍스트 상자 옆에 있는 "추가"를 눌러 목록에 참조를 추가합니다.
    9. 이 항목에 대한 참조로 반환할 URL을 두 개 이상 정의할 수 있습니다. "구성", "추가", "삭제" 및 "변경" 버튼을 사용하여 "참조 목록"을 작성하고 관리합니다.
    10. "참조 인증" 버튼을 눌러 Directory Server 콘솔에서 원격 서버에 대한 참조를 따르면서 바인드할 때 사용할 자격 증명을 설정할 수 있는 대화 상자를 표시합니다. 서버에 액세스할 때 사용할 바인드 DN과 암호를 정의할 수도 있습니다. 같은 서버에 대한 참조는 모두 동일한 자격 증명을 사용합니다.
    11. "추가", "편집" 및 "삭제" 버튼을 사용하여 서버 목록 및 해당 자격 증명을 관리합니다. 모두 마쳤으면 "확인"을 누릅니다.
    12. 참조의 사용자 정의 편집기에서 "확인"을 눌러 스마트 참조 항목을 저장합니다.
    13. 콘솔의 디렉토리 트리에서 스마트 참조 항목이 있던 위치에 대상 하위 트리나 항목이 표시되어야 합니다. 노란색 경고 아이콘, URL 또는 자격 증명이 표시된 스마트 참조 항목은 잘못된 것입니다. 항목을 두 번 눌러 "참조 오류"가 표시되면 "계속"을 누른 다음 "URL 인증" 또는 "참조 인증"을 수정하여 오류를 수정합니다.

    명령줄에서 스마트 참조 작성

    스마트 참조를 작성하려면 referral 및 extensibleObject 개체 클래스가 포함된 항목을 작성합니다. 참조 개체 클래스는 LDAP URL이 포함되는 ref 속성을 허용합니다. extensibleObject 개체 클래스를 사용하면 이름 지정 속성과 같은 스키마 속성을 이용하여 대상 항목과 일치시킬 수 있습니다.

    예를 들어, uid=bjensen 항목 대신 스마트 참조를 반환하려면 아래 항목을 정의합니다.

    ldapmodify -a -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    objectclass: top
    objectclass: extensibleObject
    objectclass: referral
    uid: bjensen
    ref: ldap://east.example.com/cn=Babs%20Jensen,ou=Sales,
     o=east,dc=example,dc=com



    주

    LDAP URL에서 공백 뒤의 정보는 서버에서 무시되므로 참조로 사용할 LDAP URL에는 공백 대신 %20을 사용해야 합니다.



    스마트 참조를 정의한 후에 uid=bjensen 항목을 수정하면 이 변경 사항이 실제로 다른 서버의 cn=Babs Jensen 항목에 적용됩니다. ldapmodify 명령은 다음과 같이 자동으로 참조를 따릅니다.

    ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: replace
    replace: telephoneNumber
    telephoneNumber: (408) 555-1234

    스마트 참조 항목을 수정하려면 다음과 같이 ldapmodify의 -M 옵션을 사용해야 합니다.

    ldapmodify -M -h host -p port -D "cn=Directory Manager" -w password
    dn: uid=bjensen,ou=People,dc=example,dc=com
    changetype: replace
    replace: ref
    ref: ldap://east.example.com/cn=Babs%20Jensen,ou=Marketing,
     o=east,dc=example,dc=com

    속성 값 암호화

    속성 암호화는 Sun ONE Directory Server 5.2에 새로 추가된 기능으로 디렉토리에 저장된 중요한 데이터를 보호합니다. 속성 암호화를 사용하여 항목의 특정 속성을 암호화 형식으로 저장하도록 지정하면 데이터베이스 파일, 백업 파일 및 내보낸 LDIF 파일에 저장된 데이터를 읽을 수 없습니다.

    이 기능을 사용할 경우 속성 값은 Directory Server에 저장되기 전에 암호화되고 암호가 해독된 후 일반 텍스트로 반환됩니다. LDAP 클라이언트에서 통신을 암호화하기 위해 금지된 데이터와 SSL에 액세스하는 것을 방지하려면 ACI와 같은 다른 메커니즘을 사용해야 합니다. 일반적인 데이터 보안, 특히 속성 암호화에 대한 구조적 개요에 대해서는 Sun ONE Directory Server Deployment Guide의 Chapter 7, "Designing a Secure Directory"를 참조하십시오.

    서버에 SSL이 구성 및 활성화되어 있는 경우에만 속성 암호화를 사용할 수 있으며 기본적으로 속성은 암호화되지 않습니다. 속성 암호화는 접미사 수준에서 구성되므로 속성은 해당 속성이 포함된 각 접미사 항목에서 암호화됩니다. 전체 디렉토리에서 특정 속성을 암호화하려면 모든 접미사에서 해당 속성을 암호화해야 합니다.



    주의

    속성 암호화는 접미사와 관련된 모든 데이터 및 색인 파일에 영향을 줍니다. 기존 접미사의 암호화 구성을 수정하는 경우 반드시 구성 내용을 먼저 내보내서 원하는 대로 수정한 후에 다시 가져와야 합니다. 콘솔에서 단계별 작업에 대한 도움을 받을 수 있습니다.

    또한, 암호화를 사용하는 경우 암호화되지 않은 값이 있는 데이터베이스 캐시 파일을 수동으로 삭제해야 합니다.

    가능하면 새로운 접미사에 데이터를 로드하거나 작성하기 전에 암호화된 모든 속성을 활성화하는 것이 좋습니다.



    일부 항목에서 이름 지정 속성으로 사용하는 속성을 암호화하도록 선택하면 DN에 표시된 값이 아닌 항목에 저장된 값이 암호화됩니다.

    userPassword 속성을 암호화하도록 선택할 수도 있지만, DIGEST-MD5 SASL 인증과 같이 암호가 단순 텍스트로 저장된 경우가 아니면 이 설정은 실제 보안에 전혀 도움이 되지 않습니다. 암호 정책에 정의된 암호화 메커니즘이 이미 암호에 적용되어 있으면 추가 암호화를 적용해도 보안은 강화되지 않고 모든 바인드 작업의 성능만 저하됩니다.

    콘솔에서 속성 암호화 구성

    1. Directory Server 콘솔의 "구성" 탭을 선택하고 "데이터" 노드를 확장한 다음, 암호화할 속성 값이 있는 접미사를 선택합니다. 오른쪽 패널에서 "속성 암호화" 탭을 선택합니다.
    2. 이 탭에는 현재 접미사에 대해 암호화된 모든 속성의 이름과 암호화 체계가 열거된 테이블이 포함되어 있습니다.

    3. 속성에 대한 암호화를 활성화하려면 다음을 수행합니다.
      1. "속성 추가" 버튼을 눌러 속성 목록을 표시합니다.
      2. 목록에서 암호화할 속성을 선택하고 "확인"을 누릅니다. 테이블의 "속성 이름" 열에 해당 속성이 추가됩니다.
      3. 속성 이름 옆의 드롭다운 목록에서 이 속성의 "암호화 체계"를 선택합니다.

    4. 속성에 대한 암호화를 해제하려면 테이블에서 속성 이름을 선택하고 "속성 삭제" 버튼을 누릅니다.
    5. "저장"을 누릅니다. 구성을 변경하기 전에 접미사 내용을 LDIF 파일로 내보내라는 메시지가 표시됩니다.
    6. "접미사 내보내기"를 눌러 내보내기 대화 상자를 열거나, 속성 암호화 구성을 내보내지 않고 수정하려면 "계속"을 누릅니다. 그런 후에 새 구성이 저장됩니다.
    7. 아직 접미사를 내보내지 않은 경우에는 이때 접미사를 내보내야만 해당 내용을 저장할 수 있습니다. 접미사에 암호화된 속성이 포함되어 있고 다음 단계에서 이 LDIF 파일을 사용하여 접미사를 다시 초기화할 계획이면 내보낸 LDIF에서 접미사 암호화를 그대로 유지할 수 있습니다.

      LDIF 파일에서 접미사를 초기화하라는 메시지가 표시됩니다.

    8. "지금 접미사 초기화"를 눌러 초기화 대화 상자를 열고 디렉토리에 로드할 LDIF 파일
      이름을 입력합니다.
    9. 이전 단계에서 암호화된 속성이 포함된 접미사를 내보낸 경우, 암호화된 값은 접미사를 다시 초기화한 후에 복구할 수 없으므로 이 파일을 사용하여 지금 초기화해야 합니다.
      파일을 로드하고 색인이 작성되는 동안 지정된 속성 값이 모두 암호화됩니다.

      이때 접미사를 초기화하지 않으려면 "닫기"를 누릅니다. "데이터 가져오기"에 설명된 것처럼 나중에 데이터를 가져올 수 있습니다.

    10. 하나 이상의 속성을 암호화하도록 구성을 변경한 경우 가져오기 작업 전에 지정된 암호화되지 않은 일부 속성 값은 계속 데이터베이스 캐시에 표시될 수 있습니다. 데이터베이스 캐시를 지우려면 다음을 수행합니다.
      1. "Directory Server 시작 및 중지"에 설명된 것처럼 디렉토리 서버를 중지합니다.
      2. 관리자 권한이 있는 root로 아래 명령을 실행하여 파일 시스템의 데이터베이스 캐시 파일을 삭제합니다.
      3. ServerRoot/slapd-serverID/db/__db.*

      4. 디렉토리 서버를 다시 시작합니다. 서버에서 자동으로 새 데이터베이스 캐시 파일을 작성합니다.

    명령줄에서 속성 암호화 구성

    1. 속성 암호화를 구성할 접미사에 항목이 있으면 먼저 이 접미사의 내용을 LDIF 파일로 내보내야 합니다. 자세한 내용은 "데이터 내보내기"를 참조하십시오.
    2. 접미사에 암호화된 속성이 포함되어 있고 단계 5에서 이 LDIF 파일을 사용하여 접미사를 다시 초기화할 계획이면 내보낸 LDIF에서 접미사 암호화를 그대로 유지할 수 있습니다.

    3. 속성에 대한 암호화를 활성화하려면 ldapmodify 명령을 사용하여 아래 구성 항목을 추가합니다.
    4. ldapmodify -a -h host -p port -D cn=Directory Manager -p password
      dn: cn=attributeName, cn=encrypted attributes, cn=databaseName,
       cn=ldbm database, cn=plugins, cn=config
      objectclass: top
      objectclass: dsAttributeEncryption
      cn: attributeName
      dsEncryptionAlgorithm: cipherName

      여기서 attributeName은 암호화할 속성의 유형 이름이고, databaseName은 접미사에 해당하는 데이터베이스의 상징적인 이름이며, cipherName은 다음 중 하나입니다.

      • ckm_des_cbc - DES 블록 암호
      • ckm_des3_cbc - Triple-DES 블록 암호
      • ckm_rc2_cbc - RC2 블록 암호
      • ckm_rc4 - RC4 스트림 암호

    5. 속성에 대한 암호화를 해제하려면 ldapmodify 명령을 사용하여 아래 구성 항목을 수정합니다.
    6. ldapmodify -h host -p port -D cn=Directory Manager -p password
      dn: cn=attributeName, cn=encrypted attributes, cn=databaseName,
       cn=ldbm database, cn=plugins, cn=config
      changetype: modify
      replace: dsEncryptionAlgorithm
      dsEncryptionAlgorithm: clearText

      여기서 attributeName은 암호화할 속성의 유형 이름이고, databaseName은 접미사에 해당하는 데이터베이스의 상징적인 이름입니다.



    주

    속성 암호화 구성 항목은 삭제하지 마십시오. 다음에 접미사를 초기화하면 자동으로 삭제됩니다.



    1. 하나 이상의 속성을 암호화하도록 구성을 변경한 경우 가져오기 작업 전에 지정된 암호화되지 않은 일부 속성 값은 계속 데이터베이스 캐시에 표시될 수 있습니다. 데이터베이스 캐시를 지우려면 다음을 수행합니다.
      1. "Directory Server 시작 및 중지"에 설명된 것처럼 디렉토리 서버를 중지합니다.
      2. 관리자 권한이 있는 root로 아래 명령을 실행하여 파일 시스템의 데이터베이스 캐시 파일을 삭제합니다.
      3. ServerRoot/slapd-serverID/db/__db.*

      4. 디렉토리 서버를 다시 시작합니다. 서버에서 자동으로 새 데이터베이스 캐시 파일을 작성합니다. 캐시가 다시 채워질 때까지 해당 접미사의 작업 성능이 다소 느려질 수도 있습니다.

    2. "데이터 가져오기"에 설명된 것처럼 LDIF 파일을 사용하여 접미사를 초기화합니다. 단계 1에서 접미사를 내보낸 경우 해당 파일을 사용하여 접미사 내용을 최신 상태로 유지합니다. 단계 1에서 암호화된 속성이 포함된 접미사를 내보낸 경우, 암호화된 값은 접미사를 다시 초기화한 후에 복구할 수 없으므로 이 파일을 사용하여 지금 초기화해야 합니다.
    3. 파일을 로드하고 해당 색인이 작성되는 동안 지정된 속성 값이 모두 암호화됩니다.

    참조 무결성 유지

    참조 무결성이란 관련된 항목 간의 관계를 유지하는 플러그 인 메커니즘입니다. 그룹 구성원의 속성과 같이 다른 항목의 DN이 포함된 속성 유형이 있습니다. 참조 무결성을 사용하면 항목을 제거할 때 해당 DN이 포함된 모든 속성도 함께 제거됩니다.

    예를 들어, 참조 무결성이 활성화된 상태에서 디렉토리의 사용자 항목을 제거하면 서버는 이 사용자가 구성원으로 속해 있는 모든 그룹에서 해당 사용자를 제거합니다. 참조 무결성을 사용하지 않으면 관리자가 수동으로 이 사용자를 그룹에서 제거해야 합니다. 이 기능은 디렉토리를 사용하여 사용자 및 그룹을 관리하는 다른 Sun ONE 제품과 디렉토리 서버를 통합할 때 특히 유용합니다.

    참조 무결성 작동 방식

    활성화된 참조 무결성 플러그 인은 삭제 또는 이름 바꾸기 작업 후 즉시 지정된 속성에 대해 무결성 업데이트를 수행합니다. 기본적으로 참조 무결성 플러그 인은 사용되지 않습니다.

    디렉토리에서 사용자 또는 그룹을 삭제하거나 이름을 바꾸면 해당 작업은 다음과 같이 참조 무결성 로그 파일에 기록됩니다.

    ServerRoot/slapd-serverID/logs/referint

    업데이트 간격이라는 지정된 시간 후에 서버는 참조 무결성이 활성화된 모든 속성에 대해 검색을 수행하고 검색 결과에 표시된 항목과 로그 파일에 있는 삭제 또는 수정된 항목의 DN을 비교합니다. 로그 파일에 항목이 삭제되었다고 표시되면 해당 속성은 삭제됩니다. 로그 파일에 항목이 변경되었다고 표시되면 해당 속성 값도 이에 따라서 수정됩니다.

    활성화된 참조 무결성 플러그 인의 기본 구성은 삭제 또는 이름 바꾸기 작업 후 즉시 member, uniquemember, owner, seeAlso 및 nsroledn 속성에 대해 무결성 업데이트를 수행합니다. 하지만 사용자 요구에 맞게 다음과 같이 참조 무결성 플러그 인의 동작을 구성할 수 있습니다.

    • 참조 무결성 업데이트를 다른 파일에 기록합니다.
    • 업데이트 간격을 수정합니다. 참조 무결성 업데이트로 인한 시스템 영향을 줄이려면 업데이트 간격을 증가시키는 것이 좋습니다.
    • 참조 무결성을 적용할 속성을 선택합니다. DN 값이 포함된 속성을 사용하거나 정의하는 경우 참조 무결성 플러그 인에서 이러한 속성을 모니터하도록 설정하는 것이 좋습니다.

    참조 무결성 구성

    참조 무결성을 활성화 또는 비활성화하거나 Directory Server 콘솔에서 이 플러그 인을 구성하려면 아래 절차를 사용합니다.

    1. Directory Server 콘솔의 최상위 "구성" 탭에서 "플러그 인" 노드를 확장하여 "referential integrity postoperation" 플러그 인을 선택합니다.
    2. 오른쪽 패널에 플러그 인 설정이 표시됩니다.

    3. 플러그 인을 활성화하려면 "플러그 인 사용" 확인란을 선택하고 플러그 인을 비활성화하려면 "플러그 인 사용" 확인란을 선택 취소합니다.
    4. 인수 1의 값을 설정하여 업데이트 간격(초)을 수정합니다. 일반적인 값은 다음과 같습니다.
      • 0 - 모든 작업 후 즉시 업데이트. 모든 삭제 또는 수정 작업 후에 즉시 참조 무결성 검사를 수행하면 서버 성능이 크게 저하될 수 있습니다.
      • 90 - 90초마다 업데이트
      • 3600 - 매 시간마다 업데이트
      • 10,800 - 3시간마다 업데이트
      • 28,800 - 8시간마다 업데이트
      • 86,400 - 매일 한 번 업데이트
      • 604,800 - 매주 한 번 업데이트

    5. 인수 2의 값을 사용하려는 참조 무결성 로그 파일의 절대 경로로 설정합니다.
    6. 인수 3은 사용되지 않지만 반드시 있어야 합니다.

    7. 참조 무결성이 모니터되는 속성은 인수 4부터 열거됩니다. "추가" 및 "삭제" 버튼을 눌러 이 목록을 관리하고 자신의 속성을 추가합니다.



    주

    최상의 성능을 내려면 참조 무결성 플러그 인에서 업데이트하는 속성도 색인화해야 합니다. 자세한 내용은 10장 "색인 관리를 참조하십시오.



    1. "저장"을 눌러 변경 사항을 저장합니다.
    2. 변경 사항을 적용하려면 Directory Server를 다시 시작해야 합니다.

    복제에 참조 무결성 사용

    복제 환경에서 참조 무결성 플러그 인을 사용하는 경우 다음과 같은 몇 가지 제한 사항이 있습니다.

    • 마스터 복제본이 포함된 모든 서버에 대해 활성화해야 합니다.
    • 모든 마스터에서 동일한 구성을 사용하여 활성화해야 합니다.
    • 허브나 소비자 복제본만 포함된 서버에서 활성화하는 것은 도움이 되지 않습니다.

    복제 토폴로지에 참조 무결성 플러그 인을 구성하려면 다음을 수행합니다.

    1. 모든 복제본이 구성되고 모든 복제 계약이 정의되어 있는지 확인합니다.
    2. 참조 무결성을 유지할 속성 집합을 지정합니다. 마스터 서버에서 사용할 업데이트 간격도 지정합니다.
    3. 모든 마스터 서버에서 동일한 속성 집합과 업데이트 간격을 사용하여 참조 무결성 플러그 인을 활성화합니다. 이 절차에 대해서는 "참조 무결성 구성"에서 설명합니다.
    4. 모든 소비자 서버에서 참조 무결성 플러그 인을 비활성화합니다.


    이전     목차     색인     DocHome     다음    
    Copyright 2003 Sun Microsystems, Inc. 모든 권리는 저작권자의 소유입니다.