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 は、次のメール属性を使用してユーザーの電子メールアドレスと代替電子メールアドレスを識別します。
mailAlternateAddress
mailEquivalentAddress
各ユーザーのメール属性をディレクトリ全体にわたって一意になるようにしてください。
次の手順は、これらの属性の一意性を強制するように Directory Server ldif ファイルを変更する方法を示しています。Delegated Administrator (または任意の LDAP ツール) がエントリを追加するか、またはメール属性を変更すると常に、ldif プラグインはメール属性値が一意であることを確認します。ある操作によって 2 つのエントリが同じメール属性値を持つことになる場合、その操作は終了されます。
メール属性の定義については、『Sun Java Communications Suite 5 Schema Reference』の第 3 章「Messaging Server and Calendar Server Attributes」を参照してください。
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 にアクセスします。
次の行を含むテキストファイルを作成します。ファイル内の示されているパラメータをインストールに固有の値に置き換えます。
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 をルートサフィックスに置き換えます。このサフィックスの下のすべてのエントリに対して一意性の確認が実行されます。
Directory Server を停止します。
変更したテキストファイルを 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
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 によって提供されるサービスクラス定義ごとのパラメータ設定されたテンプレートが含まれています。
standardUserMail
standardUserCalendar
standardUserMailCalendar
standardGroupMail
standardGroupCalendar
standardGroupMailCalendar
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 |
da.cos.skeleton.ldif ファイル内のいずれかのパラメータ設定済みテンプレートをコピーし、名前を変更します。
Delegated Administrator をインストールすると、da.cos.skeleton.ldif ファイルが次のディレクトリにインストールされます。
da-base/lib/config-templates
次の da.cos.skeleton.ldif ファイル内のテンプレートから 1 つを選択し、コピーして名前を変更します。
standardUserMail standardUserCalendar standardUserMailCalendar standardGroupMail |
コピーしたテンプレートで、次のパラメータを編集します。
<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 つまたは複数の属性を削除できます。
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 互換モードで LDAP ディレクトリを使用している場合、ACI をディレクトリに手動で追加して、Delegated Administrator によるディレクトリへのプロビジョニングを有効にする必要があります。次の処置を取ってください。
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 つの 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>";) |
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>";) |
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
Access Manager の互換性モードを有効にします。
Access Manager コンソールの「管理コンソールサービス」ページで、「ドメインコンポーネントツリーの有効」チェックボックスを選択して、有効にします。
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 |
Web コンテナを再起動します。