BigAdmin System Administration Portal
Feature Article
Print-friendly VersionPrint-friendly Version

번역 책임의 한계:
본 기사는 어느 정도의 인간의 간섭과 사후 편집을 포함하여 컴퓨터 소프트웨어 프로그램으로 번역되었습니다. 번역은 독자의 편리함을 위해 “있는 그대로” 제공되며, Sun은 번역된 문장 또는 페이지 전체로서의 정확성 또는 완전성에 대한 아무런 대표성이 없으며 어떠한 책임도 지지 않습니다. 사이트와 툴의 사용에 관한 추가 고지 사항에 대해서는 본 사이트의 이용 약관을 참조하십시오.

 
 

LDAP 이름 지정 서비스로 사용되는 Sun Java System Directory Server 6.0: 1부 -- 설치 및 구성

Sun Microsystems의 Jonathan Gershater, Mascon Global Limited(MGL)의 Vineeth Katarki, 2007년 10월(2008년 2월 업데이트)

이 페이지에서는 Sun Java System Directory Server 6.0 Enterprise Edition에 포함된 Sun Java System Directory Server 6.0("Directory Server"라고 함)을 AIX 5.3, Red Hat Linux Release 4 Update 4 또는 Solaris 8, 9, 10 운영 제체를 실행하는 UNIX 클라이언트의 이름 지정 서비스로 배포하는 방법에 대해 설명합니다.

페이지 내용

이 페이지는 다음 4개 부로 나뉩니다.

주: 이 페이지의 절차에 표시된 명령을 실행할 때 COMPANY를 현재 환경에 적합한 값으로 바꾸십시오.


1부 -- 설치 및 구성

1부 내용

1부에서는 자체 LDAP 클라이언트의 이름 지정 서비스로 Directory Server 설치 및 구성과 관련된 정보를 제공하는 다음 항목을 다룹니다.

비즈니스 고려 사항 및 문제

프로젝트에 착수하기 전에 LDAP를 이름 지정 서비스로 사용할 UNIX 서버와 워크스테이션(클라이언트) 마이그레이션에 대한 비즈니스 고려 사항 및 문제를 신중하게 고려해야 합니다.

LDAP가 UNIX 클라이언트의 이름 지정 서비스로 사용되면 개별 사용자에 대한 한 개의 고유한 UID 번호와 개별 그룹에 대한 한 개의 고유한 GID 번호가 설정됩니다. 즉, 마이그레이션 전에 사용자와 그룹에 대한 일관된 이름 지정 및 번호 지정이 없는 경우 다음 작업을 마이그레이션의 일부로 수행해야 합니다.

1. 개별 사용자에 대한 고유한 UID 번호와 개별 그룹에 대한 고유한 GID 번호를 선택하려면 통합 작업을 수행해야 합니다. 이 작업은 각 클라이언트에서 모든 /etc/passwd/etc/group 파일을 수집하는 수동 프로세스입니다. 이후에는 데이터가 스프레드시트에서 분석됩니다. 같은 이름을 가진 사용자와 그룹에 대해 여러 개의 다른 UID 및 GID 번호가 있을 경우에는 일반적으로 대부분의 사용자와 그룹이 있는 고유한 UID 및 GID 번호를 선택합니다. 예를 들면, 두 서버의 dba 그룹을 통합합니다.

dba:x:1115:duncan,marion       server1의 /etc/group
dba:x:2000:kevin,jim           server2의 /etc/group

파일이 병합되면 그룹 dba의 항목은 다음과 같을 수 있습니다.

dba:x:2000:duncan,marion,kevin,jim

스프레트시트는 유용합니다. 간단한 스프레트시트는 표 1과 같습니다.

표 1: 변경해야 하는 UNIX 그룹 이름
플랫폼
소유자
그룹 이름
새로 제안된 GID
현재 GID
호스트 개수
Solaris
Smith, John
dba
2000
101
4
Solaris
Smith,John
admins
3000
102
8
AIX
Jones, Mary
finance
4000
103
2
AIX
Jones, Mary
crm-admin
5000
107
2
AIX
Jones, Mary
crm-user
5001
104
2
Linux
Chu, HA
hr
6000
118
4
Linux
Smith, Cindy
brio
7000
102
3
Linux
Kennedy, Dave
oracle
8000
101
4
Linux
Kennedy, Dave
staff
9000
101
5
 

2. 새 UID 및 GID 번호가 할당되므로 사용자와 그룹에 대해 다른 UID와 GID 번호가 있는 UNIX 클라이언트가 있을 수 있습니다. 따라서 마이그레이션된 경우 UID 및 GID 번호를 변경해야 합니다. 자체 제작된 응용 프로그램에 하드 코드된 UID와 GID 번호가 있는 인스턴스가 있을 수도 있습니다. UNIX 워크스테이션과 서버의 UID와 GID 번호를 변경하면 파일 시스템에서 chownchgrp 명령을 실행해야 합니다. 파일 수에 따라 이 작업은 시간이 많이 걸리는 프로세스가 될 수 있습니다. 또한 UID와 GID 번호가 변경될 때 사용자가 파일에 액세스하지 않아야 하므로 작동 중지 시간이 필요합니다. 그러므로 서버가 단일 사용자 모드에 있을 경우 chownchgrp 명령을 실행하는 것이 좋습니다(boot-s 또는 init 0 실행).

3. 서버에는 /etc/passwd/etc/group에 더 이상 존재하지 않는 UID 또는 GID 번호가 있는 파일이 있을 수 있습니다. 그러한 파일은 다음 명령을 사용하여 찾을 수 있습니다.

find / '(' -nouser -o -nogroup ')' -ls

이 명령은 재할당해야 하는 새로운 또는 기존의 사용자 및/또는 그룹을 결정하기 위해 수동으로 검사해야 하는 파일 목록을 생성합니다.

UNIX 서버 및 워크스테이션을 LDAP 이름 지정 서비스로 마이그레이션하려면 비즈니스에서 서버의 작동 중지 시간을 허용하도록 하고 새로운 UID 또는 GID 번호 사용자 및 응용 프로그램에 영향을 주어야 합니다.


Directory Service 아키텍처

이 문서에서 설명한 구성은 다음과 같은 아키텍처가 됩니다.

  • Directory Server는 그림 1에 표시된 대로 각 데이터 센터("디렉토리 서버"라고 함)의 두 개 서버에 설치됩니다. 각 데이터 센터에 있는 두 개의 디렉토리 서버는 서로 간에 복제되고 각 데이터 센터 사이의 두 개 디렉토리 서버가 복제됩니다. 이 아키텍처는 한 데이터 센터로 인증하는 클라이언트에 가용성이 높은 장애 조치 구성을 제공합니다.
  • 이전에 로컬 /etc 파일을 사용하도록 구성된 클라이언트는 이름 서비스로 Directory Server를 사용하도록 변환되었습니다.
  • AIX, Linux, 또는 Solaris OS를 실행하는 자체 LDAP 클라이언트는 SSL을 통해 Directory Server에 연결합니다. 디렉토리 서버는 자체 서명된 인증서가 아니라 내부 CA(인증 기관)에서 서명한 SSL 인증서로 구성되었습니다.
  • 그룹과 넷 그룹은 Directory Server Sun Java 웹 콘솔을 사용하여 관리됩니다.

Figure 1

그림 1: 디렉토리 서비스 아키텍처
(확대하려면 클릭)

역사적으로, UNIX와 Linux 시스템은 NIS 이름 지정 서비스용으로 구성되었거나 /etc 디렉토리에 있는 로컬 파일을 사용하여 개별적으로 관리되었습니다. Directory Server는 자체 LDAP 클라이언트의 이름 지정 서비스로 사용할 수 있습니다. 즉, Directory Server는 다음에 대한 저장소 역할을 합니다.

  • AIX, Linux, Solaris 서버 및 워크스테이션에 로그인하는 사용자
  • 사용자의 그룹
  • 사용자 암호를 관리하는 암호 정책
  • 지정된 서버와 워크스테이션에 대한 사용자 액세스를 제한하는 넷 그룹
  • 비활성 사용자를 관리하는 정책

Directory Server LDAP 이름 지정 서비스 아키텍처는 다음과 같은 장점이 있습니다.

  • 사용자, 그룹, 암호 정책 및 넷 그룹의 중앙 집중 저장소
  • 높은 페일오버 기능 및 고가용성을 제공하는 정보 복제를 위한 저장소
  • 확장 축소가 가능한 워크스테이션 추가로 디렉토리 서버의 로드를 최소화하므로 확장성이 매우 큰 저장소

환경 요구 사항

이 문서에서는 다음 조건이 현재 환경에 적용되거나 이 문서의 절차를 사용한 후에 적용된다고 가정합니다.

  • Directory Server 버전 6.0은 모든 필수 패치와 함께 Solaris 10 OS를 실행하는 4개의 디렉토리 서버에 설치되었습니다.
  • SSL은 디렉토리 서버 간 그리고 디렉토리 서버와 AIX, Linux 및 Solaris OS 클라이언트 간의 모든 통신에 사용됩니다.
  • 기존 NIS/NIS+ 환경이 없습니다.
  • 모든 자체 LDAP 클라이언트의 로컬 /etc/passwd/etc/group 파일의 사용자 데이터를 통합하고, uidNumber 고유성을 적용합니다.
  • pam_ldap Solaris PAM(플러그 가능 인증 모듈)은 디렉토리 사용자와 계정 관리에만 사용됩니다.
  • 넷 그룹은 Directory Server 이름 지정 서비스에서 관리하는 서버에 대한 사용자 액세스를 제어하는 데 사용됩니다.

배포 단계 개요

이름 지정 서비스를 설정하는 데 필요한 고급 단계는 다음과 같습니다.

  1. 클라이언트를 위한 LDAP 이름 지정 서비스를 지원하도록 Directory Server를 설치하고 구성합니다.
  2. 디렉토리 서버를 사용하도록 Solaris 8, 9, 10 OS, Red Hat Linux 릴리스 4 업데이트 4 또는 AIX 5.3을 실행하는 UNIX 서버를 구성합니다.
  3. Directory Server 소프트웨어로 사용자 데이터를 로드합니다.

Directory Server 문서

관련 Directory Server 문서에 대한 링크는 다음과 같습니다.


Directory Server 설치

한 대의 Directory Server에서 다음 절차를 수행합니다. 나중에 데이터는 표준 Directory Server 복제를 사용하여 다른 디렉토리 서버에 복사됩니다. 복제는 이 페이지에서 다루지 않지만 Sun Java System Directory Server Enterprise Edition 6.0 Administration Guide에 문서화되어 있습니다.

: Directory Server 소프트웨어는 이 절에 표시된 순서로 설치하는 것이 좋습니다.

1. 필수 Solaris 패키지 SUNWnisu가 설치되어 있는지 확인합니다.

2. 아래의 필수 Solaris 패치가 설치되어 있는지 확인합니다.

  • SunOS 5.10: 커널 패치 118833(SUNWnisu는 먼저 설치해야 함)
  • SunOS 5.10: C++ 119963용 공유 라이브러리 패치
  • SunOS 5.10: 시간대 업데이트 패치 122032

3. 그림 2에 표시된 대로 http://www.sun.com/software/products/directory_srvr_ee/get1.jsp에서 Directory Server 패키지를 다운로드한 다음 패키지를 설치합니다.

: Directory Server의 Native Package(PKG) 버전을 다운로드하여 설치하십시오.

Figure 2

그림 2: Directory Server 패키지 다운로드
(확대하려면 클릭)


Sun Java 웹 콘솔 및 Directory Server 구성

각 디렉토리 서버에서 다음 절차를 수행합니다. Java 웹 콘솔 및 DSEE 서비스를 시작하지 않는 경우에는 아래의 명령 1번과 2번마다 이러한 서비스를 시작합니다. 마찬가지로, 설치 중에 접미사를 만들지 않은 경우에는 아래 명령 3번마다 접미사를 만듭니다.

1. Sun Java 웹 콘솔을 시작합니다.

# /usr/sbin/smcwebserver start
Starting Sun Java(TM) Web Console Version 3.0.2 ...
The console is running

2. 일반 에이전트를 시작합니다.


# /usr/sbin/cacaoadm start

3. 접미사를 만듭니다.

# /opt/SUNWdsee/ds6/bin/dsconf create-suffix -h server1.COMPANY.com -p 389 dc=COMPANY,dc=com
Certificate "CN=server1.COMPANY.com, CN=636, CN=Directory Server,
  O=Sun Microsystems" presented by the server is not trusted.
Type "Y" to accept, "y" to accept just once, "n" to refuse,
  "d" for more details: Y
Enter "cn=Directory Manager" password:
  

4. 파일에 인증서 데이터베이스 암호를 지정합니다.

#pwd
/var/opt/SUNWdsee/dsins1
# cat > certpassword.txt
secretpassword^D

5. 인증서 데이터베이스 암호를 설정합니다.

#/opt/SUNWdsee/ds6/bin/dsadm stop /var/opt/SUNWdsee/dsins1
#/opt/SUNWdsee/ds6/bin/dsadm set-flags /var/opt/SUNWdsee/dsins1
  cert-pwd-prompt=on
Choose the new certificate database password:
Confirm the new certificate database password:
Certificate database password successfully updated.

6. Directory Server를 시작합니다.

# ./dsadm start --cert-pwd-file /var/opt/SUNWdsee/dsins1/
  certpassword.txt /var/opt/SUNWdsee/dsins1

7. DSCC(디렉토리 서비스 제어 센터)에 Directory Server 인스턴스를 등록합니다.

# pwd
/opt/SUNWdsee/ds6/bin
# cd ../../dscc6/bin
# ./dsccreg add-server /var/opt/SUNWdsee/dsins1
Enter DSCC administrator's password:
/var/opt/SUNWdsee/dsins1 is an instance of DS
Enter password of "cn=Directory Manager" for
  /var/opt/SUNWdsee/dsins1:
This operation will restart /var/opt/SUNWdsee/dsins1.
Do you want to continue? (y/n) y
Connecting to /var/opt/SUNWdsee/dsins1
Enabling DSCC access to /var/opt/SUNWdsee/dsins1
Restarting /var/opt/SUNWdsee/dsins1
Registering /var/opt/SUNWdsee/dsins1 in DSCC on localhost.

8. 재부트 시 자동으로 시작하도록 Directory Server를 구성합니다.

a. 서비스를 활성화합니다(Directory Server 시작).

# ./dsadm enable-service --type SMF /var/opt/SUNWdsee/dsins1
Registering 'Directory Server' as 'application/sun/ds' in SMF ...
Registering '/var/opt/SUNWdsee/dsins1' as
  'ds--var-opt-SUNWdsee-dsins1' in SMF ...
Instance /var/opt/SUNWdsee/dsins1 registered in SMF

b. SMF(서비스 관리 기능)가 있는지 확인합니다.

# svcs | grep ds
online    22:46:31 svc:/application/sun/ds:ds--var-opt-
  SUNWdsee-dsins1

c. Directory Server에 연결을 시도합니다.

# telnet localhost 389
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^CConnection to localhost closed by foreign host.

d. 서비스를 비활성화합니다(Directory Server 중지).:

# svcadm disable ds:ds--var-opt-SUNWdsee-dsins1

e. Directory Server에 연결을 시도합니다.

# telnet localhost 389
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying ::1...
telnet: Unable to connect to remote host: Network is unreachable

9. (선택적) 다음 명령을 사용하여 자동으로 시작하도록 Sun Java 웹 콘솔을 구성합니다.

# smcwebserver enable

10. (선택적) 다음 명령을 사용하여 자동으로 시작하도록 일반 에이전트 컨테이너를 설정합니다(cacao).

# cacaoadm enable

SSL 및 idsconfig 스크립트 구성

다음 절차를 사용하여 각 디렉토리 서버의 표준 Directory Server 설치 구성을 변경합니다.

CA 서명이 있는 인증서를 사용하여 SSL 구성

1. CA 인증서를 요청합니다.

필요한 정확한 정보는 고객의 CA(인증 기관)에 따라 다릅니다. 다음은 미국, 캘리포니아에 있는 임의 도시에 대한 예입니다.

a. 인증서 요청을 생성합니다.

/opt/SUNWdsee/ds6/bin/dsadm request-cert --city "Any City"
--country "US" -F ascii --name server --org "Organization"
--org-unit "Org unit" --state CA -o /tmp/CertReq
/var/opt/SUNWdsee/dsins1

위의 요청은 ASCII 형식(- F ascii)이며, 출력 파일은 다음과 같이 표시됩니다.

b. CA에서 서버 인증서를 요청합니다.

CA에서 받는 서버 인증서는 PEM 형식입니다. -----BEGIN CERTIFICATE -----부터 -----END CERTIFICATE -----까지의 텍스트를 복사하고, 텍스트 편집기에 붙여넣은 다음 워크스테이션에 파일로 저장합니다.

c. 이 파일을 Directory Server에 /tmp/CertFile로 업로드합니다.

: 서버 인증서 요청 외에, CA에서 CA 서명이 있는 인증서를 요청해야 하므로 다른 Directory Server와 클라이언트는 CA 서명이 있는 서버 인증서를 신뢰합니다. 이러한 인증서는 루트 및 중간 CA 서명 인증서여야 합니다. 이러한 언증서를 /tmp/CACert로 Directory Server에 업로드하십시오.

2. Directory Server에 서버 및 CA 인증서를 추가합니다.

a. 서버 SSL 인증서를 추가합니다.

dsadm 사용:

#/opt/SUNWdsee/ds6/bin/dsadm add-cert /var/opt/sun/dsins1
ServerCert /tmp/CerFile

certutil를 사용하는 다른 방법:

# /usr/sfw/bin/certutil -A -n ServerCert -t u,u,u -d
/var/opt/SUNWdsee/dsins1/alias -i /tmp/CertFile

b. 새로 추가한 서버 인증서를 기본 Directory Server 인증서로 설정합니다.

/opt/SUNWEdsee/ds6/bin/dsconf set-server-prop -e -p 389
ssl-rsa-cert-name:ServerCert

c. CA 서명이 있는 인증서를 추가합니다.

dsadm 사용:

/opt/SUNWdsee/ds6/bin dsadm add-cert -C /var/opt/sun/dsins1
CACert /tmp/cacert.pem

certutil을 사용하는 다른 방법:

# /usr/sfw/bin/certutil -A -n CA -t CT,, -d
/var/opt/SUNWdsee/dsins1/alias -i /tmp/CACert

d. 추가한 서버 인증서를 확인합니다.

dsadm 사용:

e. 추가된 CA 인증서를 확인합니다.

certutil을 사용하는 다른 방법:

/usr/sfw/bin/certutil -L -P slapd- -d /var/opt/SUNWdsee/dsins1/alias

defaultCert                                             CTu,u,u
ServerCert                                                u,u,u
Root CA                                                 CT,,

f. Directory Server를 다시 시작합니다.

/opt/SUNWdsee/dsadm restart /var/opt/SUNWdsee/dsins1

idsconfig Script 수정

idsconfig 스크립트의 목적은 자체 LDAP 클라이언트에서 사용할 Directory Server를 구성하는 것입니다. 이 스크립트는 자체 LDAP 클라이언트에 필요한 스키마, 객체 및 인덱스를 추가하여 Directory Server에서 UNIX 정보를 인증하고 얻습니다. 이 스크립트는 /usr/lib/ldap/idsconfig에 있습니다.

Directory Server가 Solaris 10 11/06 OS 또는 이전 버전의 Solaris OS를 실행하는 서버에 설치된 경우 다음 절차를 사용하십시오.

1. 스크립트는 Directory Server가 버전 5인지 여부를 확인하고 다른 버전이 사용되는 경우 종료합니다. 그러므로 아래 예에서 굵게 표시된 대로 두 번째 exit 1 문을 주석 처리해야 합니다.

chk_ids_version()
{
[ $DEBUG -eq 1 ] &&  "In chk_ids_version()"
# check iDS version number.
eval "  -b cn=monitor -s base
  \"objectclass=*\" version |  \"^version=\" | cut -f2 -d'/'
  | cut -f1 -d' ' > /checkDSver 2>&1"
if [ $? -ne 0 ]; then
 "ERROR: Can not determine the version number of iDS!"
exit 1
fi
IDS_VER=`cat /checkDSver`
IDS_MAJVER=`  | cut -f1 -d.`
IDS_MINVER=`  | cut -f2 -d.`
if [ "" != "5" ]; then
 "ERROR: $PROG only works with iDS version 5.x, not
  ."

# exit 1
fi
if [ $DEBUG -eq 1 ]; then
 " IDS_MAJVER = $IDS_MAJVER"
 " IDS_MINVER = $IDS_MINVER"
fi

2. 스크립트의 끝부분은 VLV(가상 목록 보기) 인덱스에 대해 directoryserver 명령을 수동으로 실행해야 함을 나타내지만 /usr/sbin/directoryserver는 Directory Server 6.0에 적용되지 않습니다. 필요에 따라 company 및 Directory Server의 인스턴스를 바꿉니다.

.../dsadm reindex -l -t company.com.getgrent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.gethostent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getnetent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getrpcent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getspent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getauhoent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getauhoent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getsoluent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getauhoent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getauduent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getauthent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getexecent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getprofent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getmailent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getbootent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getethent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getngrpent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getipnent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getmaskent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getprent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getip4ent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com
.../dsadm reindex -l -t company.com.getip6ent
/var/opt/SUNWdsee/dsins2 dc=company,dc=com

캡처한 idsconfig 세션의 출력은 다음과 같습니다.


복제 설정

Directory Server가 4개의 디렉토리 서버에 설치되고 구성되면 다음을 수행하여 두 쌍의 디렉토리 서버(아래의 "디렉토리 서버 1" 및 "디렉토리 서버 2")에 각각 SSL로 복제를 설정합니다.

1. 임시 복제 관리자 암호를 설정합니다.

a. 두 서버에서 다음 명령을 실행합니다.

# echo password > var/opt/SUNWdsee/dsins1/replpassword.txt

b. 디렉토리 서버 1에서 다음 명령을 실행합니다.

# /opt/SUNWdsee/ds6/bin/dsconf set-server-prop -e  -h
  server1.COMPANY.com -p 389
def-repl-manager-pwd-file:/var/opt/SUNWdsee/dsins1/replpassword.txt

c. 디렉토리 서버 2에서 다음 명령을 실행합니다.

# /opt/SUNWdsee/ds6/bin/dsconf set-server-prop -e  -h
  server2.COMPANY.com -p 389
def-repl-manager-pwd-file:/var/opt/SUNWdsee/dsins1/replpassword.txt

2. 마스터대 마스터 복제를 활성화합니다.

a. 디렉토리 서버 1에서 다음 명령을 실행합니다.

# /opt/SUNWdsee/ds6/bin/dsconf enable-repl -h
  server1.COMPANY.com -p 389 -e -d 1
  master dc=COMPANY,dc=com

b. 디렉토리 서버 2에서 다음 명령을 실행합니다.

# /opt/SUNWdsee/ds6/bin/dsconf enable-repl -h
  server2.COMPANY.com  -p 389 -e -d 2
  master dc=COMPANY,dc=com

3. CA에서 서명한 서버 인증서를 교환하여 SSL로 복제를 사용합니다.

: 자세한 내용은 관리 설명서의 "To Export and Import a CA-Signed Server Certificate"를 참조하십시오.

a. 디렉토리 서버 1에서 다음 명령을 실행합니다.

#/opt/SUNWdsee/ds6/bin/dsadm export-cert -o /var/tmp/certfile1
  /var/opt/SUNWdsee/dsins1 "CompanyCertificate"

b. 디렉토리 서버 2에서 다음 명령을 실행하여 certfile1server2.COMPANY.com에 복사합니다.

#/opt/SUNWdsee/ds6/bin/dsadm export-cert -o /var/tmp/certfile2
  /var/opt/SUNWdsee/dsins1 "CompanyCertificate"

c. FTP 또는 비슷한 방법을 사용하여 certfile2server1.COMPANY.com에 복사합니다.

4. 해당 서버에 내보낸 서버 인증서를 추가합니다.

: 다음 예에서는 dsins1이 디렉토리 서버 1로 작동하고 있고, dsins2가 디렉토리 서버 2로 작동하고 있습니다.

# /opt/SUNWdsee/ds6/bin/dsadm add-cert /var/opt/SUNWdsee/dsins1
  "COMPANYCert" certfile2

# /opt/SUNWdsee/ds6/bin/dsadm add-cert --ca /var/opt/SUNWdsee/dsins2/
  "ds2 Repl Manager Cert" certfile1

# /opt/SUNWdsee/ds6/bin/dsadm import-cert /var/opt/SUNWdsee/dsins1
  certfile2
Enter the PKCS#12 file password:
A certificate with the same subject (CN=VI CATest2,O=COMPANY,C=US)
  already exists in the database.
Do you want to continue [y/n]? y
A certificate with the same subject (CN=TEST COMPANY, O=COMPANY,C=US)
  already exists in the database.
Do you want to continue [y/n]? y

5. 복제 계약을 생성합니다.

: 보안 LDAP 포트는 복제 계약에 사용됩니다.

a. 디렉토리 서버 1에서 다음 명령을 실행합니다.

# /opt/SUNWdsee/ds6/bin/dsconf create-repl-agmt -h
  server1.COMPANY.com  -p 389 -e --auth-protocol "ssl-simple"
  dc=COMPANY,dc=com server2.COMPANY.com:636

b. 디렉토리 서버 2에서 다음 명령을 실행합니다.

# /opt/SUNWdsee/ds6/bin/dsconf create-repl-agmt -h
  server2.COMPANY.com  -p 389 -e --auth-protocol "ssl-simple"
  dc=COMPANY,dc=com server1.COMPANY.com:636

6. 복제 관리자가 사용할 인증 암호 파일을 구성합니다.

a. 디렉토리 서버 1에서 다음 명령을 실행합니다.

# /opt/SUNWdsee/ds6/bin/dsconf set-repl-agmt-prop -h
  server1.COMPANY.com -p 389 -e dc=COMPANY,dc=com
  server2.COMPANY.com:636
  auth-pwd-file:/var/opt/SUNWdsee/dsins1/replpassword.txt

b. 디렉토리 서버 2에서 다음 명령을 실행합니다.

# /opt/SUNWdsee/ds6/bin/dsconf set-repl-agmt-prop -h
  server2.COMPANY.com -p 389 -e dc=COMPANY,dc=com
  server1.COMPANY.com:636
  auth-pwd-file:/var/opt/SUNWdsee/dsins1/replpassword.txt

7. 디렉토리 서버를 다시 시작합니다.

# /opt/SUNWdsee/ds6/bin/dsadm restart /var/opt/SUNWdsee/dsins1

8. (선택적) 디렉토리 서버 1에서 다음 명령을 실행하여 디렉토리 서버 2의 데이터로 디렉토리 서버 1의 접미사를 초기화합니다.

#/opt/SUNWdsee/ds6/bin/dsconf init-repl-dest -e -h
  server1.COMPANY.com -p 389 dc=COMPANY,dc=com
  server2.COMPANY.com.server:636

	Started initialization of "server1.COMPANY.com:389"; May 7,
	  2007 11:08:28 PM
	Sent 109 entries...
	Sent 349 entries...
	Sent 549 entries...
	Sent 550 entries.
	Completed initialization of "server1.COMPANY.com:389"; May 7,
	  2007 11:08:35 PM

데이터 백업 및 복원

데이터 백업 및 복구는 Sun Java System Directory Server Enterprise Edition 6.0 Administration Guide에도 설명되어 있습니다.

디렉토리 서버는 다중 마스터 복제에 있기 때문에 한 대의 디렉토리 서버가 실패하는 경우 해당 데이터를 다른 디렉토리 서버로 쉽게 복제할 수 있습니다. 데이터가 많지 않으므로 데이터를 복원하는 데 이 방법이 적합합니다.

자세한 내용은 관리 설명서의 "Initializing Replicas" 절을 참조하십시오.

또한 관리 설명서의 일반 복제 정보를 참조하십시오.


그룹 및 넷 그룹 LDAP 항목 관리

Sun Java 웹 콘솔을 사용하여 정보를 관리하려면 다음 주소를 사용하여 콘솔에 액세스하십시오.

https://server1.COMPANY.com:6789/

콘솔을 사용하여 넷 그룹 추가

콘솔을 사용하여 넷 그룹을 추가하려면 콘솔에 액세스한 후 다음 단계를 수행합니다.

1. 항목 관리를 선택합니다.

Figure 3

그림 3: 디렉토리 항목 관리 화면
(확대하려면 클릭)

2. DN(도메인 이름)을 입력합니다.

Fig. 4

그림 4: 항목 위치 지정 화면
(확대하려면 클릭)

3. nisNetgroup 객체 클래스를 선택합니다.

Fig. 5

그림 5: 객체 클래스 선택 화면
(확대하려면 클릭)

4. 그림 6에서처럼 속성을 입력하고, 필요에 따라 그림 7을 참조합니다.

Fig. 6

그림 6: 속성 구성 화면
(확대하려면 클릭)

Fig. 7

그림 7: 요약 화면
(확대하려면 클릭)

명령줄을 사용하여 넷 그룹 추가

1. LDIF(Lightweight Directory Interchange Format) 파일을 만듭니다.

# more netgroup.ldif

dn: cn=mynisnetgroup,ou=netgroup,dc=COMPANY,dc=com
changetype: add
nisNetgroupTriple: (,user345789,)
description: SunServer
objectClass: nisNetgroup
objectClass: top
memberNisNetgroup: server3

2. ldapmodify 명령을 실행합니다.


# ldapmodify -h server2.COMPANY.com -D "cn=Directory Manager" -f
  netgroup.ldif
Enter bind password:
adding new entry cn=mynisnetgroup,ou=netgroup,dc=COMPANY,
  dc=com

3. ldapsearch 명령을 실행하여 상태를 확인합니다.

# ldapsearch -b "ou=netgroup,dc=COMPANY,dc=com" -D "cn=Directory Manager"
  "cn=mynisnetgroup"
Enter bind password:

version: 1
dn: cn=mynisnetgroup,ou=netgroup,dc=COMPANY,dc=com
nisNetgroupTriple: (,user345789,)
description: SunServer
objectClass: nisNetgroup
objectClass: top
memberNisNetgroup: server3
cn: mynisnetgroup

콘솔을 사용하여 넷 그룹 수정

콘솔을 사용하여 넷 그룹을 수정하려면 콘솔에 액세스한 후 다음 단계를 수행합니다.

1. 그림 8에서처럼 넷 그룹을 검색합니다.

Fig. 8

그림 8: 넷 그룹 검색
(확대하려면 클릭)

2. 속성을 편집하고 확인을 누릅니다.

Fig. 9

그림 9: 속성 편집
(확대하려면 클릭)

명령줄을 사용하여 넷 그룹 수정

1. LDIF 파일을 만듭니다.

# more netgroup.ldif
dn: cn=mynisnetgroup,ou=netgroup,dc=COMPANY,dc=com
changetype: modify
replace: nisNetgroupTriple
nisNetgroupTriple: (,user345,)

2. ldapmodify를 실행합니다.

# ldapmodify -h server2.COMPANY.com -D "cn=Directory Manager" -f
  netgroup.ldif
Enter bind password:
modifying entry cn=mynisnetgroup,ou=netgroup,dc=COMPANY,dc=com

3. ldapsearch를 실행하여 상태를 확인합니다.

# ldapsearch -b "ou=netgroup,dc=COMPANY,dc=com" -D "cn=Directory
  Manager"
"cn=mynisnetgroup"

Enter bind password:
version: 1
dn: cn=mynisnetgroup,ou=netgroup,dc=COMPANY,
  dc=com
nisNetgroupTriple: (,user345,)
description: ss7ed06Server
objectClass: nisNetgroup
objectClass: top
memberNisNetgroup: ss72ed06
cn: mynisnetgroup

콘솔을 사용하여 넷 그룹 삭제

콘솔을 사용하여 넷 그룹을 삭제하려면 콘솔에 액세스한 후에 다음 단계를 수행합니다.

1. 콘솔을 사용하여 넷 그룹 수정에 설명된 대로 넷 그룹을 검색합니다.

2. 그림 10에서처럼 넷 그룹을 선택하여 삭제합니다.

Fig. 10

그림 10: 넷 그룹 검색
(확대하려면 클릭)

명령줄을 사용하여 넷 그룹 삭제

1. LDIF 파일을 만듭니다.

# more netgroup.ldif
dn: cn=mynisnetgroup,ou=netgroup,dc=COMPANY,dc=com
changetype: delete

2. ldapmodify를 실행합니다.

# ldapmodify -h server2.COMPANY.com -D "cn=Directory Manager" -f netgroup.ldif
Enter bind password:
deleting entry cn=mynisnetgroup,ou=netgroup,dc=COMPANY,dc=com

3. ldapsearch를 실행하여 상태를 확인합니다.

# ldapsearch -v -b "ou=netgroup,dc=COMPANY,dc=com" -D "cn=Directory
  Manager" -w password  "cn=mynisnetgroup"
ldapsearch: started Tue May  8 21:58:10 2007

ldap_init( localhost, 389 )
filter pattern: cn=mynisnetgroup
returning: ALL
filter is: (cn=mynisnetgroup)
0 matches

콘솔을 사용하여 그룹 추가

콘솔을 사용하여 그룹을 추가하려면 콘솔에 액세스한 후 다음 단계를 수행합니다.

1. 항목 관리를 선택합니다.

Fig. 11

그림 11: 디렉토리 항목 관리 화면
(확대하려면 클릭)

2. DN을 입력하고 ou=Groups가 아니라 ou=group을 선택합니다.

Fig. 12

그림 12: 항목 위치 지정 화면
(확대하려면 클릭)

3. posixGroup 객체 클래스를 선택합니다.

Fig. 13

그림 13: 객체 클래스 선택 화면
(확대하려면 클릭)

4. 그림 14에서처럼 속성을 입력하고, 필요에 따라 그림 15를 참조합니다.

Fig. 14

그림 14: 속성 구성 화면
(확대하려면 클릭)

Fig. 15

그림 15: 요약 화면
(확대하려면 클릭)

명령줄을 사용하여 그룹 추가

1. LDIF 파일을 만듭니다.

# more group.ldif
dn: cn=solarisgroup,ou=group,dc=COMPANY,dc=com
changetype: add
objectClass: posixGroup
objectClass: top
memberuid: sunuser300
gidNumber:4001

2. ldapmodify를 실행합니다.

# ldapmodify -h server2.COMPANY.com -D "cn=Directory Manager" -f
  group.ldif
Enter bind password:
adding new entry cn=solarisgroup,ou=group,dc=COMPANY,dc=com

3. ldapsearch를 실행하여 상태를 확인합니다.

# ldapsearch -v -b "ou=group,dc=COMPANY,dc=com" -D "cn=Directory
  Manager"  "cn=solarisgroup"

ldapsearch: started Tue May  8 22:49:33 2007
	ldap_init( localhost, 389 )
filter pattern: cn=solarisgroup
returning: ALL
filter is: (cn=solarisgroup)
version: 1
dn: cn=solarisgroup,ou=group,dc=COMPANY,dc=com
objectClass: posixGroup
objectClass: top
memberUid: sunuser300
gidNumber: 4001
cn: solarisgroup
1 matches

콘솔을 사용하여 그룹 수정

콘솔을 사용하여 그룹을 수정하려면 콘솔에 액세스한 후 다음 단계를 수행합니다.

1. 그림 16에서처럼 그룹을 검색합니다.

Fig. 16

그림 16: 그룹 검
(확대하려면 클릭)

2. 속성을 편집하고 확인을 누릅니다.

Fig. 17

그림 17: 속성 편집
(확대하려면 클릭)

명령줄을 사용하여 그룹 수정

1. LDIF 파일을 만듭니다.


# more group.ldif
dn: cn=solarisgroup,ou=group,dc=COMPANY,dc=com
changetype: modify
memberuid: sunuser300, sunuser999

2. ldapmodify를 실행합니다.

# ldapmodify -h server2.COMPANY.com -D "cn=Directory Manager" -f
  group.ldif
Enter bind password:
modifying entry cn=solarisgroup,ou=group,dc=COMPANY,dc=com

3. ldapsearch를 실행하여 상태를 확인합니다.

# ldapsearch -v -b "ou=group,dc=COMPANY,dc=com" -D "cn=Directory
    Manager" -w password "cn=solarisgroup"
ldapsearch: started Tue May  8 22:53:12 2007

	ldap_init( localhost, 389 )
	filter pattern: cn=solarisgroup
	returning: ALL
	filter is: (cn=solarisgroup)
	version: 1
	dn: cn=solarisgroup,ou=group,dc=COMPANY,dc=com
	objectClass: posixGroup
	objectClass: top
	memberUid: sunuser300
	memberUid: sunuser300, sunuser999
	gidNumber: 4001
	cn: solarisgroup
	1 matches

콘솔을 사용하여 그룹 삭제

콘솔을 사용하여 그룹을 삭제하려면 콘솔에 액세스한 후 다음 단계를 수행합니다.

1. 콘솔을 사용하여 그룹 수정에 설명된 대로 그룹을 검색합니다.

2. 그림 18에서처럼 그룹을 선택하여 삭제합니다.

Fig. 18

그림 18: 그룹 검
(확대하려면 클릭)

명령줄을 사용하여 그룹 삭제

1. LDIF 파일을 만듭니다.

# more group.ldif
dn: cn=solarisgroup,ou=group,dc=COMPANY,dc=com
changetype: delete

2. ldapmodify를 실행합니다.

# ldapmodify -h server2.COMPANY.com -D "cn=Directory Manager" -f
  group.ldif
Enter bind password:
deleting entry cn=solarisgroup,ou=group,dc=COMPANY,dc=com

3. ldapsearch를 실행하여 상태를 확인합니다.

# ldapsearch -v -b "ou=group,dc=COMPANY,dc=com" -D "cn=Directory
  Manager" -w 	password  "cn=solarisgroup"
ldapsearch: started Tue May  8 23:00:16 2007

	ldap_init( localhost, 389 )
	filter pattern: cn=solarisgroup
	returning: ALL
	filter is: (cn=solarisgroup)
	0 matches

조정 설정

다음 두 절차는 Directory Server의 최적 성능을 위해 수행해야 하는 조정 단계를 설명합니다.4개의 디렉토리 서버에서 모두 이러한 절차를 수행합니다.

Solaris 10 네트워킹 설정 조정에 대해서는 Solaris OS Networking -- The Magic Revealed 페이지를 참조하십시오.

운영 체제 조정

1. /etc/system에서 다음을 설정합니다.

set rlim_fd_max=65536
set rlim_fd_cur=32768

2. TCP 스택 조정을 위해 /etc/init.d/inetinit 파일에서 다음을 설정합니다.

ndd -set /dev/tcp tcp_time_wait_interval        30000
ndd -set /dev/tcp tcp_conn_req_max_q            4096
ndd -set /dev/tcp tcp_keepalive_interval        600000
ndd -set /dev/tcp tcp_rexmit_interval_initial   500
ndd -set /dev/tcp tcp_smallest_anon_port        8192
ndd -set /dev/tcp tcp_deferred_ack_interval     5

Directory Server 조정

dse.ldif를 수정하려면 개별 Directory Server 인스턴스를 중지해야 합니다.

<instance_path>/config/dse.ldif에서 다음 설정을 수정하고 확인합니다.

nsslapd-maxdescriptors:65536
nsslapd-dbcachesize: 2147483648
nsslapd-db-home-directory: <tmpfs filesystem such as /tmp/slapd>

: 위의 nsslapd-db-home-directory 설정을 사용하는 경우 시스템 시작 시간 중에 디렉토리가 만들어졌는지 그리고 스왑 공간이 충분한지 확인합니다(2GB의 캐시 및 나머지 임시 파일을 보관하려면 tmpfs/0).


Directory Server 제거

Directory Server를 제거해야 하는 경우 Sun Java System Directory Server Enterprise Edition 6.0 Installation Guide 제거 절차를 따릅니다.


추가 정보

추가 리소스는


Comments (latest comments first)

Discuss and comment on this resource in the BigAdmin Wiki

Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
BigAdmin Upgrade Hub