Sun Java System Delegated Administrator 6.4 관리 설명서

구성 후 작업

Delegated Administrator 구성 프로그램을 실행한 후 다음 작업을 수행해야 합니다.

스키마 2 호환성 모드에서 LDAP 디렉토리를 사용하는 경우에만 다음 작업을 수행합니다.

기본 도메인에 메일 서비스 및 달력 서비스 추가

config-commda 프로그램은 기본 도메인을 생성합니다.

기본 도메인에 메일 서비스 또는 달력 서비스가 있는 사용자를 생성하려면 먼저 해당 도메인에 메일 서비스 및 달력 서비스를 추가해야 합니다.

이 작업을 수행하려면 commadmin domain modify 명령을 -S mail-S cal 옵션과 함께 사용합니다.

다음 예에서는 commadmin domain modify를 사용하여 기본 도메인에 메일 서비스 및 달력 서비스를 추가하는 방법을 보여 줍니다.

commadmin domain modify -D chris -w bolton -n sesta.com -d siroe.com
 -S mail,cal -H test.siroe.com

commadmin 명령 구문 및 세부 정보에 대해서는 5 장, 명령줄 유틸리티을 참조하십시오.

메일 속성에 고유한 값 적용

Messaging Server는 다음 메일 속성을 사용하여 사용자의 전자 메일 주소 및 대체 전자 메일 주소를 식별합니다.

각 사용자의 메일 속성은 디렉토리 전체에서 고유해야 합니다.

다음 절차는 Directory Server ldif 파일을 수정하여 이와 같은 속성의 고유성을 적용하는 방법을 보여 줍니다. Delegated Administrator(또는 모든 LDAP 도구)가 항목을 추가하거나 메일 속성을 수정할 때마다 ldif 플러그인에서 해당 메일 속성 값의 고유성 여부를 검사합니다. 두 항목의 메일 속성 값이 동일하다는 결과가 나오면 작업이 종료됩니다.

메일 속성에 대한 정의를 보려면 Sun Java Communications Suite 5 Schema Reference의 3 장, Messaging Server and Calendar Server Attributes의 3장, Messaging Server and Calendar Server Attributes를 참조하십시오.

Procedure메일 속성의 고유성을 적용하려면

시작하기 전에

주 –

Directory Server 5.2.5(Java ES Release 4) 이상을 실행하고 있는 경우 아래 설명된 절차를 따릅니다.

Directory Server 5.2.4(Java ES Release 4)를 실행하고 있는 경우 먼저 패치 5.2_Patch_4_6313027을 적용한 후 다음 절차를 시작해야 합니다.

이전 버전의 Directory Server를 실행하고 있는 경우 시작하기 전에 먼저 Directory Server 5.2.5 이상으로 업그레이드해야 합니다.

Directory Server 패치에 액세스하려면 http://sunsolve.sun.com으로 이동합니다.


  1. 다음 줄이 포함된 텍스트 파일을 생성합니다. 파일에 표시된 매개 변수를 사용자의 설치에 맞는 값으로 바꿉니다.


    dn: cn=Uniqueness in Attribute Set,cn=plugins,cn=config
    objectClass: top
    objectClass: nsSlapdPlugin
    objectClass: ds-signedPlugin
    objectClass: extensibleObject
    cn: Uniqueness in Attribute Set
    nssldap-pluginPath: server_root/lif/uid-plugin.so
    nsslapd-pluginInitfunc: NSUniqueAttrSet_Init
    nsslapd-pluginType: preoperation
    nsslapd-pluginEnabled: on
    nsslapd-pluginarg0: attributeset=mail,mailalternateaddress,mailequivalentaddress
    nsslapd-pluginarg1: ugldapbasedn
    nsslapd-plugin-depends-on-type: database
    nsslapd-pluginId: NSUniqueAttrSet
    nsslapd-pluginVersion: 5.2
    nsslapd-pluginVendor: Sun Microsystems, Inc.
    nsslapd-pluginDescription: Enforce unique values among an attribute set

    다음 매개 변수를 변경합니다.

    server_root를 Directory Server가 설치된 디렉토리로 바꿉니다. 예를 들면 /var/opt/mps/serverroot로 바꿉니다.

    ugldapbasedn을 루트 접미어로 바꿉니다. 이 접미어 아래에 있는 모든 항목에 대해 고유성 검사가 수행됩니다.

  2. Directory Server를 중지합니다.

  3. 수정한 텍스트 파일을 Directory Server dse.ldif 파일에 추가합니다.

    dse.ldif 파일의 위치:

    dse.ldif 파일은 다음 디렉토리에 있습니다.

    server_root/slapd- machine_name/config

    여기서

    server_root는 Directory Server가 설치된 디렉토리입니다. 예를 들면 /var/opt/mps/serverroot입니다.

    machine_name은 Directory Server가 설치된 호스트 시스템의 이름입니다.

    텍스트 파일 추가 위치:

    dse.ldif 파일의 uid uniqueness 섹션 뒤에 텍스트 파일을 추가합니다. 이 섹션의 첫 번째 줄(dn)은 다음과 같습니다.

    dn: cn=uid uniquenss,cn=plugins,cn=config

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

    Directory Server가 시작되면 수정된 dse.ldif 파일을 디렉토리에 설치합니다.

일반 오류

dse.ldif 파일에 오류가 발생하여 Directory Server가 시작되지 않을 경우 샘플 텍스트 파일에서 매개 변수를 바꿀 때 사용했던 값을 확인합니다. LDAP 루트 접미어, Directory Server 설치 경로 및 호스트 시스템이 설치 내용에 맞게 정확해야 합니다.

여전히 Directory Server가 시작되지 않으면 최후의 수단으로 dse.ldif 파일에서 텍스트 파일을 제거하고 Directory Server를 다시 시작할 수 있습니다.

서비스 패키지 생성

LDAP 디렉토리에서 Delegated Administrator를 통해 관리되는 각 사용자 및 그룹마다 서비스 패키지가 있어야 합니다. 사용자 또는 그룹은 둘 이상의 서비스 패키지를 가질 수 있습니다.

사전 정의 CoS 템플리트

Delegated Administrator 구성 프로그램(config-commda)을 실행할 때 config-commda 프로그램이 디렉토리에 샘플 CoS 템플리트를 설치하도록 선택할 수 있습니다.

샘플 CoS 템플리트와 서비스 패키지에서 사용 가능한 메일 속성에 대한 자세한 내용은 1 장, Delegated Administrator 개요 서비스 패키지를 참조하십시오.

샘플 CoS 템플리트를 사용하여 서비스 패키지를 생성하고 할당할 수 있습니다. 하지만 샘플 템플리트는 예로 사용하기 위해 제공된 것입니다.

직접 서비스 패키지 만들기

대부분의 경우, 설치 환경의 사용자 및 그룹에 적합한 속성 값으로 사용자 정의한 CoS 템플리트에 기반하여 직접 서비스 패키지를 만들려고 합니다.

서비스 패키지를 직접 만들려면 다음 디렉토리의 da.cos.skeleton.ldif 파일에 저장된 CoS 템플리트를 사용합니다.

da-base/lib/config-templates

이 파일은 사용자 정의 CoS 템플리트 작성을 위한 템플리트로 사용하기 위해 특별히 만들어진 것으로, Delegated Administrator가 구성된 경우에는 LDAP 디렉토리에 설치되지 않습니다.

da.cos.skeleton.ldif 파일에는 Delegated Administrator에서 제공하는 각 CoS 정의에 대해 매개 변수화된 템플리트가 들어 있습니다.

da.cos.skeleton.ldif 파일에 있는 매개 변수화된 템플리트 중 하나 이상을 사용하여 직접 CoS 템플리트를 생성할 수 있습니다.

da.cos.skeleton.ldif 파일에 있는 CoS 템플리트는 다음과 같습니다.


# Templates for creating COS templates for service packages.
#
# There are six COS definitions :
#   standardUserMail
#   standardUserCalendar
#   standardUserMailCalendar
#   standardGroupMail
#   standardGroupCalendar
#   standardGroupMailCalendar
#
# Each definition can have zero or more COS templates which
# define specific values for the attributes listed in the 
# COS definition.
#
# Each COS definition points to a corresponding subdirectory
# in which COS templates for that definition (and no other
# definition) are found.  The templates directory structure
# is as follows:
# standardUserMail	      => o=mailuser,o=costemplates,<ugldapbasedn>
# standardUserCalendar      => o=calendaruser,o=costemplates,
#                               <ugldapbasedn>
# standardUserMailCalendar  => o=mailcalendaruser,o=costemplates,
#                               <ugldapbasedn>
# standardGroupMail	      => o=mailgroup,o=costemplates,
#                               <ugldapbasedn>
# standardGroupCalendar	  => o=calendargroup,o=costemplates,
#                               <ugldapbasedn>
# standardGroupMailCalendar => o=mailcalendargroup,o=costemplates,
#                               <ugldapbasedn>
#
# Thus, all COS templates for the user mail service are found in the
# o=mailuser,o=costemplates,<ugldapbasedn> directory, etc.
#
# It is not necessary to have any templates for a given definition. 
# In that case default values are assumed for those attributes defined
# in the COS definition.
#
# If a template is created for a definition there should be at least
# one attribute with a defined value.
#
# Consult documentation for values for the attributes.  
# Documentation includes units and default values.
#
# The finished COS derived from this skeleton is added to the 
# directory with the following command:
# 
# ldapmodify -D <directory manager> -w <password> 
# -f <cos.finished.template.ldif>
#
#
############################################################
#
#	standardMailUser COS template
#
############################################################
# There must be a least one of the following attributes:
# - mailMsgMaxBlocks
# - mailQuota
# - mailMsgQuota
# - mailAllowedServiceAccess
#
dn: cn=<service package name>,o=mailuser,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
mailMsgMaxBlocks: <mailMsgMaxBlocksValue>
mailQuota: <ma:ilQuotaValue>
mailMsgQuota: <mailMsgQuotaValue>
mailAllowedServiceAccess: <mailAllowedServiceAccessValue>
daServiceType: mail user#
#
############################################################
#
#	standardCalendarUser COS template
#
############################################################
# There must be a least one of the following attributes:
# - icsPreferredHost
# - icsDWPHost
# - icsFirstDay
#
dn: cn=<service package name>,o=calendaruser,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
icsPreferredHost: <preferredHostValue>
icsDWPHost: <dwpHostValue>
icsFirstDay: <firstDayValue>
daServiceType: calendar user
#
#
############################################################
#
#	standardMailCalendarUser COS template
#
############################################################
# There must be a least one of the following attributes:
# - mailMsgMaxBlocks
# - mailQuota
# - mailMsgQuota
# - mailAllowedServiceAccess
#
dn: cn=<service package name>,o=mailcalendaruser,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
mailMsgMaxBlocks: <mailMsgMaxBlocksValue>
mailquota: <mailQuotaValue>
mailmsgquota: <mailMsgQuotaValue>
mailAllowedServiceAccess: <mailAllowedServiceAccessValue>
daServiceType: calendar user
daServiceType: mail user
#
#
############################################################
#
#	standardMailGroup COS template
#
############################################################
# There must be a least one of the following attributes:
# - mailMsgMaxBlocks
#
#
dn: cn=<service package name>,o=mailgroup,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
mailMsgMaxBlocks: <mailMsgMaxBlocksValue>
daServiceType: mail group
#
#
############################################################
#
#	standardCalendarGroup COS template
#
############################################################
# There must be a least one of the following attributes:
# - icsdoublebooking
# - icsautoaccept
#
#
dn: cn=<service package name>,o=calendargroup,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
icsdoublebooking: <doubleBookingValue>
icsautoaccept: <autoAcceptValue>
daServiceType: calendar group
#
#
############################################################
#
#	standardMailCalendarGroup COS template
#
############################################################
# There must be a least one of the following attributes:
# - icsdoublebooking
# - icsautoaccept
# - mailMsgMaxBlocks
#
#
dn: cn=<service package name>,o=mailcalendargroup,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
mailmsgmaxblocks: <mailMsgMaxBlocksValue>
icsdoublebooking: <doubleBookingValue>
icsautoaccept: <autoAcceptValue>
daServiceType: calendar group
daServiceType: mail group

Procedure직접 서비스 패키지를 생성하려면

  1. da.cos.skeleton.ldif 파일에 있는 매개 변수화된 템플리트 중 하나를 복사하고 이름을 바꿉니다.

    Delegated Administrator 설치 시 da.cos.skeleton.ldif 파일이 다음 디렉토리에 설치됩니다.

    da-base/lib/config-templates

    da.cos.skeleton.ldif 파일의 다음 템플리트 중 하나를 선택하여 복사하고 이름을 바꿉니다.


    standardUserMail
    standardUserCalendar
    standardUserMailCalendar
    standardGroupMail
  2. 템플리트의 복사본에서 다음 매개 변수를 편집합니다.

    • <ugldapbasedn>

      루트 접미어 매개 변수 <rootSuffix>를 사용자 루트 접미어(예: o=usergroup)로 변경합니다.

      <ugldapbasedn> 매개 변수가 DN에 표시됩니다.

    • <service package name>

      <service package name> 매개 변수를 고유한 서비스 패키지 이름으로 변경합니다.

      <service package name> 매개 변수가 DN 및 cn에 나타납니다.

    • 메일 속성 값:


      <mailMsgMaxBlocksValue> 
      <mailQuotaValue> 
      <mailMsgQuotaValue> 
      <mailAllowedServiceAccessValue>

      이 값을 해당 사양에 맞게 편집합니다.

      예를 들어, 메일 속성에 대해 다음 값을 입력할 수 있습니다.


      mailMsgMaxBlocks: 400 
      mailQuota: 400000000 
      mailMsgQuota: 5000 
      mailAllowedServiceAccess: imap:ALL$+pop:ALL$+smtp:ALL$+http:ALL
    • 달력 속성 값:


      <preferredHostValue>
      <dwpHostValue>
      <firstDayValue>

      이 매개 변수는 icsPreferredHost, icsDWPHosticsFirstDay LDAP 속성의 값을 나타냅니다.

      이 값을 해당 사양에 맞게 편집합니다.

    이러한 속성의 정의 및 설명에 대한 내용은 Sun Java System Communications Services Schema Reference의 "Chapter 3: Messaging Server and Calendar Server Attributes"를 참조하십시오.

    사용자 정의 CoS 템플리트에서 하나 이상의 속성을 사용해야 합니다. 사용자 정의 템플리트에서 네 개의 메일 속성을 모두 사용할 필요는 없습니다. 서비스 패키지에서 하나 이상의 속성을 삭제할 수 있습니다.

  3. LDAP 디렉토리 도구 ldapmodify를 사용하여 디렉토리에 서비스 패키지를 설치합니다.

    예를 들면 다음 명령을 실행할 수 있습니다.

    ldapmodify -D <directory manager> -w <password> -f <cos.finished.template.ldif>

    여기서

    <directory manager>는 Directory Server 관리자의 이름입니다.

    <password>는 Directory Service 관리자의 비밀번호입니다.

    <cos.finished.template.ldif>는 디렉토리에 서비스 패키지로 설치될 편집된 ldif 파일의 이름입니다.

스키마 2 호환성 모드용 ACI 추가

LDAP 디렉토리를 스키마 2 호환성 모드에서 사용하고 있는 경우 Delegated Administrator에서 사용자의 디렉토리를 관리할 수 있게 하려면 디렉토리에 ACI를 수동으로 추가해야 합니다. 다음 단계를 수행합니다.

Procedure스키마 2 호환성 모드용 ACI를 추가하려면

  1. OSI 루트에 다음 두 ACI를 추가합니다. /opt/SUNWcomm/config 디렉토리에 있는 usergroup.ldif 파일에서 다음 두 ACI를 찾을 수 있습니다.

    ugldapbasedn을 해당 사용자/그룹 접미어로 바꿉니다. 편집한 usergroup.ldif를 LDAP 디렉토리에 추가합니다.


    #
    # acis to limit Org Admin Role
    #
    ########################################
    # dn: <local.ugldapbasedn>
    ########################################
    dn: <ugldapbasedn>
    changetype: modify
    add: aci
    aci: (target="ldap:///($dn),<ugldapbasedn>")(targetattr="*")
    (version 3.0; acl "Organization Admin Role access deny to org node";
    deny (write,add,delete) roledn = "ldap:///cn=Organization Admin 
    Role,($dn),<ugldapbasedn>";)

    dn: <ugldapbasedn>
    changetype: modify
    add: aci
    aci: (target="ldap:///($dn),<ugldapbasedn>")(targetattr="*")
    (version 3.0; acl "Organization Admin Role access allow read 
    to org node";
    allow (read,search) roledn = "ldap:///cn=Organization Admin 
    Role,($dn),<ugldapbasedn>";)
  2. 다음 두 ACI를 DC 트리 루트 접미어에 추가합니다. 다음 두 ACI는 /opt/SUNWcomm/lib/config-templates 디렉토리의 dctree.ldif 파일에서 찾을 수 있습니다.

    dctreebasedn을 DC 트리 루트 접미어로 바꾸고, ugldapbasedn을 사용자/그룹 접미어로 바꾸어야 합니다. 편집한 dctree.ldif를 LDAP 디렉토리에 추가합니다.


    #
    # acis to limit Org Admin Role
    #
    ########################################
    # dn: <dctreebasedn>
    ########################################
    dn: <dctreebasedn>
    changetype: modify
    add: aci
    aci: (target="ldap:///($dn),<dctreebasedn>")(targetattr="*")
    (version 3.0; acl "Organization Admin Role access deny to dc node"; 
    deny (write,add,delete) roledn = "ldap:///cn=Organization Admin 
    Role,($dn),<ugldapbasedn>";)

    dn: <dctreebasedn>
    changetype: modify
    add: aci
    aci: (target="ldap:///($dn),<dctreebasedn>")(targetattr="*")
    (version 3.0; acl "Organization Admin Role access allow read to dc 
    node"; allow (read,search) roledn = "ldap:///cn=Organization Admin 
    Role,($dn),<ugldapbasedn>";)
  3. DC 트리 루트 접미어에 다음의 추가 ACI를 추가합니다. (이 ACI는 dctree.ldif 파일에 없음.)


    dn:<dctreebasedn> 
    changetype:modify
    add:aci
    aci: (target="ldap:///<dctreebasedn>")(targetattr="*")
    (version 3.0; acl "S1IS Proxy user rights"; allow (proxy)
    userdn = "ldap:///cn=puser,ou=DSAME Users,<ugldapbasedn>";)

    dn:<dctreebasedn>
    changetype:modify
    add:aci
    aci: (target="ldap:///<dctreebasedn>")(targetattr="*")
    (version 3.0; acl "S1IS special dsame user rights for all under the 
    root suffix"; allow (all) userdn ="ldap:///cn=dsameuser,ou=DSAME 
    Users,<ugldapbasedn>";)

    dn:<dctreebasedn>
    changetype:modify
    add:aci
    aci: (target="ldap:///<dctreebasedn>")(targetattr="*")
    (version 3.0; acl "S1IS Top-level admin rights"; 
    allow (all) roledn = "ldap:///cn=Top-level Admin 
    Role,<ugldapbasedn>";)
  4. AMConfig.properties 파일에서 com.iplanet.am.domaincomponent 등록 정보를 해당 DC 트리 루트 접미어로 설정합니다.

    예를 들어, < AM_base_directory>/lib/AMConfig.properties 파일에서 다음 줄을 수정합니다.

    수정 전

    com.iplanet.am.domaincomponent=o=isp

    수정 후

    com.iplanet.am.domaincomponent=o=internet

  5. Access Manager에서 호환성 모드 사용을 활성화합니다.

    Access Manager 콘솔의 관리 콘솔 서비스 페이지에서 도메인 구성 요소 트리 사용 가능 확인란을 선택(활성화)합니다.

  6. 다음 예와 같이 inetdomain 객체 클래스를 모든 DC 트리 노드(예: dc=com,o=internet)에 추가합니다.


    /var/mps/serverroot/shared/bin 298% ./ldapmodify 
    -D "cn=Directory Manager" -w password
    dn: dc=com,o=internet
    changetype: modify
    add: objectclass
    objectclass: inetdomain
  7. 웹 컨테이너를 다시 시작합니다.