Sun Java System Directory Server Enterprise Edition 6.3 관리 설명서

항목 관리

항목을 관리하는 가장 좋은 방법은 상황에 따라 다릅니다.

DSCC를 사용한 항목 관리

DSCC을 사용하면 읽기 가능한 모든 암호화되지 않은 항목 속성을 보고, 쓰기 가능한 해당 속성을 편집할 수 있습니다. 또한, 속성을 추가하거나 제거하고 여러 값을 갖는 속성을 설정하며 항목의 객체 클래스를 관리할 수 있습니다. DSCC를 사용하여 항목을 관리하는 방법에 대한 자세한 내용은 DSCC 온라인 도움말을 참조하십시오. 일반적으로 DSCC에 대한 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스를 참조하십시오.

디렉토리 편집기를 사용한 항목 관리

디렉토리 편집기는 관리자와 최종 사용자가 데이터를 검색, 작성 및 편집하는 데 사용할 수 있는 간편한 디렉토리 편집 도구입니다. 이 데이터는 사용자, 그룹 및 컨테이너 형식입니다.

ldapmodifyldapdelete를 사용한 항목 관리

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

ldapmodifyldapdelete 명령은 본 설명서의 절차에서 주로 사용하는 명령입니다. 다음 절에서는 절차를 수행하는 데 필요한 기본 작업에 대해 설명합니다. ldapmodifyldapdelete 명령에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.3 Reference를 참조하십시오.

명령줄 유틸리티에 대한 입력은 반드시 명령줄 또는 입력 파일을 통해 직접 제공할 수 있는 LDIF 형식이어야 합니다. 다음 절에서는 LDIF 입력에 대해 설명하고 이후 절에서는 각 수정 유형에 대한 LDIF 입력에 대해 설명합니다.

올바른 LDIF 입력 서식 지정에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.3 ReferenceGuidelines for Providing LDIF Input을 참조하십시오.

다음 절에서는 이러한 기본 작업에 대해 설명합니다.

ldapmodify를 사용한 항목 추가

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

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


$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind 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: secret

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

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

  1. 항목의 DN

  2. 객체 클래스 목록

  3. 이름 지정 속성(하나 이상)이 속성은 DN에 사용되며, 반드시 필수 속성일 필요는 없습니다.

  4. 모든 객체 클래스의 필수 속성 목록

  5. 허용되는 속성 중에서 추가할 모든 속성

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

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


$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind 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: secret

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

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

ldapmodify를 사용한 항목 수정

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

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


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

같은 항목에 대한 작업을 구분하려면 하이픈(-)을 사용하고 다른 항목에 대한 작업 그룹을 구분하려면 빈 줄을 사용합니다. 각 작업에 여러 개의 attribute: value 쌍을 지정할 수도 있습니다.

속성 값 추가

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

다음 예에서는 동일한 add LDIF 구문을 사용하여 여러 값을 갖는 기존 속성과 존재하지 않는 속성에 값을 추가할 수 있는 방법을 보여줍니다.


$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password:
dn: uid=bjensen,ou=People,dc=example,dc=com
changetype: modify
add: cn
cn: Babs Jensen
-
add: mobile
mobile: (408) 555-7844

다음 중 부합되는 조건이 있으면 이 작업은 실패할 수 있으며 서버에서 오류를 반환합니다.

이진 속성 하위 유형 사용

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

속성 ;binary 하위 유형은 실제 구문에 관계없이 속성 값이 이진 데이터로서 LDAP를 통해 전송됨을 나타냅니다. 이 하위 유형은 userCertificate와 같이 LDAP 문자열 표현이 없는 복잡한 구문에 사용되며, 이외의 용도로 사용해서는 안 됩니다.

ldapmodify 명령과 함께 사용된 경우에는 적절한 하위 유형을 모든 LDIF 명령문의 속성 이름에 추가할 수 있습니다.

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


$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password:
version: 1
dn: uid=bjensen,ou=People,dc=example,dc=com
changetype: modify
add: userCertificate;binary
userCertificate;binary:< file:///local/cert-file

:< 구문을 사용하여 파일 이름을 지정하려면 LDIF 명령문을 version: 1 행으로 시작해야 합니다. ldapmodify는 이 명령문을 처리할 때 속성을 지정된 파일의 전체 내용에서 읽은 값으로 설정합니다.

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

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

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


attribute;lang-CC

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


attribute;lang-CC;phonetic

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


$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password:
dn: uid=bjensen,ou=People,dc=example,dc=com
changetype: modify
add: homePostalAddress;lang-fr
homePostalAddress;lang-fr: 34, rue de la Paix

주 –

속성 값에 비ASCII 문자가 있는 경우 UTF-8로 인코딩해야 합니다.


속성 값 수정

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

다음 예에서는 LDIF의 replace 구문을 사용하여 속성 값을 변경하는 방법을 보여줍니다.


$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password:
dn: uid=bjensen,ou=People,dc=example,dc=com
changetype: modify
replace: sn
sn: Morris
-
replace: cn
cn: Barbara Morris
cn: Babs Morris

지정된 속성의 현재 값이 모두 제거되고 지정된 값이 모두 추가됩니다.

속성 값을 변경한 후에는 ldapsearch 명령을 사용하여 변경 사항을 확인할 수 있습니다.

속성 값의 후행 공백

속성 값을 수정할 때 값의 끝에 실수로 후행 공백을 추가하지 마십시오. 후행 공백으로 인해 값이 base-64로 인코딩(예: 34xy57eg)으로 표시될 수도 있습니다.

속성 값이 후행 공백으로 끝나면 후행 공백이 속성 값의 일부로 인코딩됩니다. DSCC 또는 ldapsearch 명령을 사용하여 변경 사항을 확인할 때는 보이는 값이 일반 텍스트일 수도 있으나 base-64로 인코딩된 텍스트로 표시될 수도 있습니다. 이는 사용하는 디렉토리 서버 클라이언트에 따라 다릅니다.

속성 값 삭제

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

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


$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password:
dn: uid=bjensen,ou=People,dc=example,dc=com
changetype: modify
delete: facsimileTelephoneNumber
-
delete: cn
cn: Babs Morris

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

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

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

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


$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password:
dn: uid=bjensen,ou=People,dc=example,dc=com
changetype: modify
delete: mobile
mobile: (408) 555-7845
-
add: mobile
mobile: (408) 555-5487

ldapdelete를 사용한 항목 삭제

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

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

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

다음 예에서는 항목이 하나만 있는 조직 구성 단위를 보여줍니다. 이 항목을 먼저 삭제한 다음 부모 항목을 삭제할 수 있습니다.


$ ldapdelete -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password:
uid=bjensen,ou=People,dc=example,dc=com
ou=People,dc=example,dc=com

ldapmodify를 사용한 항목 삭제

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

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

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


$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
dn: uid=bjensen,ou=People,dc=example,dc=com
changetype: delete

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

ldapsearch를 사용한 항목 검색

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

ldapsearch 명령줄 유틸리티를 사용하여 디렉토리 항목을 찾고 검색할 수 있습니다. ldapsearch 유틸리티는 Solaris 플랫폼과 함께 제공되는 유틸리티가 아닌, Directory Server Resource Kit의 일부입니다.

ldapsearch, 일반 ldapsearch 옵션, 허용되는 형식 및 예에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.3 Reference를 참조하십시오.

Procedureldapmodify를 사용하여 항목을 이동하거나 이름을 바꾸는 방법

이 절차에서는 DN 수정 작업을 사용합니다. 이 작업을 시작하기 전에 DN 수정 작업 사용에 대한 지침과 제한 사항 절에 대해 잘 알고 있어야 합니다.

이 절차의 일부로, DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오. 해당 절차의 다른 부분은 명령줄에서만 수행할 수 있습니다.


주 –

그룹의 uniquemember인 항목의 DN을 수정할 경우 참조 무결성 플러그인이 활성화되어야 합니다. 참조 무결성은 항목이 이동될 때 그룹 구성원이 조정되도록 합니다. 참조 무결성 플러그인을 사용 가능하게 하고 구성하는 방법에 대해서는 참조 무결성 플러그인을 구성하는 방법을 참조하십시오.


  1. 부모에서 다른 부모로 항목을 이동하는 경우 부모 항목에 대한 ACI 권한을 확장합니다.

    • 항목의 현재 부모 항목을 제거할 경우 ACI에서 allow (export ...) 구문을 사용하여 export 작업을 수행할 수 있어야 합니다.

    • 항목의 이후 부모 항목을 제거할 경우 ACI에서 allow (import ...) 구문을 사용하여 import 작업을 수행할 수 있어야 합니다.

    ACI 사용에 대한 자세한 내용은 7 장, 디렉토리 서버 액세스 제어을 참조하십시오.

  2. DN 수정 작업을 전역적으로 사용 가능하게 하거나, 적어도 이동 작업의 영향을 받는 접미어에 대해 사용 가능하게 합니다.

    디렉토리 서버의 이전 릴리스와의 호환성을 위해 DN 수정 작업은 기본적으로 사용되지 않습니다.

    이전에 DN 수정 작업을 이미 사용한 경우 다음 단계로 이동합니다.

    서버에 대해 DN 수정 작업을 전역적으로 사용 가능하게 하려면 다음 명령을 사용합니다.


    $ dsconf set-server-prop -h host -p port moddn-enabled:on
  3. ldapmodify 명령을 실행합니다.

    이 단계에서는 DN 수정 작업을 사용합니다. 다음 중 하나를 수행합니다.

    • 항목을 이동합니다.

      예를 들어 다음 명령은 uid=bjensen 항목을 ou=Contractors,dc=example,dc=com 계약 직원의 하위 트리에서 ou=People,dc=example,dc=com 직원의 하위 트리로 이동합니다.


      $ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
      Enter bind password:
      dn: uid=bjensen,ou=Contractors,dc=example,dc=com
      changetype: modrdn
      newrdn: uid=bjensen
      deleteoldrdn: 0
      newsuperior: ou=People,dc=example,dc=com
    • 항목의 이름을 바꿉니다.

      예를 들어 다음 명령은 uid=bbjensen 항목의 이름을 uid=bjensen으로 바꿉니다.


      $ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
      Enter bind password:
      dn: uid=bbjensen,ou=People,dc=example,dc=com
      changetype: modrdn
      newrdn: uid=bjensen
      deleteoldrdn: 1

    LDIF 명령문을 작성하는 경우 다음 속성에 주의하십시오.

    • dn - 이름을 바꾸거나 이동하려는 항목을 지정합니다.

    • changetype: modrdn - DN 수정 작업이 사용되도록 지정합니다.

    • newrdn - 새로운 이름 지정 속성을 제공합니다.

    • deleteoldrdn - 이전의 이름 지정 속성을 항목에서 제거할지 여부를 나타냅니다(1은 예, 0은 아니요).

      이름 지정 속성이 항목 정의에서 의무적으로 사용되어야 할 속성일 경우 항목에서 이 속성을 제거할 수 없습니다.

    • newsuperior - 항목의 새로운 상위 속성을 지정합니다.

    ldapmodify 명령과 옵션에 대한 자세한 내용은 ldapmodify(1) 설명서 페이지를 참조하십시오.

  4. 많은 항목을 포함하는 하위 트리를 이동하거나 이름을 바꿀 때 자원 제한 오류가 발생하면 데이터베이스에서 사용할 수 있는 잠금 수를 늘립니다.


    $ dsconf set-server-prop -h host -p port db-lock-count:value
    

    이 등록 정보를 수정할 경우 변경 사항을 적용하려면 서버를 다시 시작해야 합니다.

DN 수정 작업 사용에 대한 지침과 제한 사항

이전 절에 설명된 것처럼 DN 수정 작업을 사용할 경우 다음 절의 지침을 수행합니다.

DN 수정 작업 사용에 대한 일반 지침

복제와 함께 DN 수정 작업 사용에 대한 지침


주의 – 주의 –

다음 요구 사항을 준수하지 않고 DN 수정 작업을 사용하면 복제가 손상되어 디렉토리 서비스가 종료될 수 있습니다.