Sun Java System Delegated Administrator 6.4 管理ガイド

設定後の作業

Delegated Administrator 設定プログラムを実行したあとは、次の作業を行います。

次の作業を実行するのは、Schema 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 プラグインはメール属性値が一意であることを確認します。ある操作によって 2 つのエントリが同じメール属性値を持つことになる場合、その操作は終了されます。

メール属性の定義については、『Sun Java Communications Suite 5 Schema Reference』の第 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 を再起動することができます。

サービスパッケージの作成

Delegated Administrator で LDAP ディレクトリにプロビジョニングされた各ユーザーと各グループがサービスパッケージを保有するようにしてください。ユーザーまたはグループは複数のサービスパッケージを保有できます。

定義済みサービスクラステンプレート

Delegated Administrator 設定プログラム (config-commda ) の実行時には、config-commda プログラムでサービスクラスのサンプルテンプレートをディレクトリにインストールするよう選択できます。

サービスクラスのサンプルテンプレートとサービスパッケージで使用できるメール属性については、第 1 章「Delegated Administrator の概要」「サービスパッケージ」を参照してください。

サービスクラスのサンプルテンプレートを使用すると、サービスパッケージを作成し割り当てることができます。ただし、サンプルテンプレートはあくまでも例です。

独自のサービスパッケージの作成

通常、カスタマイズされたサービスクラステンプレートを基に、インストールされた環境のユーザーとグループに適切な属性値を使用して独自のサービスパッケージを作成します。

独自のサービスパッケージを作成するには、次のディレクトリ内の da.cos.skeleton.ldif ファイルに保存されているサービスクラステンプレートを使用します。

da-base/lib/config-templates

このファイルは、カスタマイズされたサービスクラステンプレートを記述するためのテンプレートとして使用するために特別に作成されました。Delegated Administrator を設定するときには、このファイルは LDAP ディレクトリにインストールされません。

da.cos.skeleton.ldif ファイルには、Delegated Administrator によって提供されるサービスクラス定義ごとのパラメータ設定されたテンプレートが含まれています。

da.cos.skeleton.ldif ファイル内のパラメータ設定されたテンプレートを 1 つ以上使用して、独自のサービスクラステンプレートを作成できます。

da.cos.skeleton.ldif ファイルのサービスクラステンプレートを次に示します。


# 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 ファイル内のテンプレートから 1 つを選択し、コピーして名前を変更します。


    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 icsDWPHost、および icsFirstDay の各 LDAP 属性の値を表します。

      ユーザーの指定に従って値を編集します。

    これらの属性の定義と詳細については、『Sun Java Communications Suite Schema Reference』の第 3 章「Messaging Server and Calendar Server Attributes」を参照してください。

    カスタマイズされたサービスクラステンプレートでは少なくとも 1 つの属性を使用する必要があります。カスタムテンプレートで 4 つすべてのメール属性を使用する必要はありません。サービスパッケージから 1 つまたは複数の属性を削除できます。

  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 ファイルの名前です。

Schema 2 互換モードの ACI の追加

Schema 2 互換モードで LDAP ディレクトリを使用している場合、ACI をディレクトリに手動で追加して、Delegated Administrator によるディレクトリへのプロビジョニングを有効にする必要があります。次の処置を取ってください。

ProcedureSchema 2 互換モードの ACI を追加する

  1. OSI ルートに次の 2 つの ACI を追加します。/opt/SUNWcomm/config ディレクトリの usergroup.ldif ファイル内に次の 2 つの 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. 次の 2 つの ACI を DC ツリールートサフィックスに追加します。/opt/SUNWcomm/lib/config-templates ディレクトリの dctree.ldif ファイル内に次の 2 つの ACI が見つかります。

    必ず 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. Web コンテナを再起動します。