Sun Java System Communications Services 6 2005Q4 Delegated Administrator 指南

合并和删除 ACI

本节列出的 ldif 文件 replacement.acis.ldif 会把合并后的 ACI 安装在根后缀处并从目录中删除未使用的 ACI。此 ldif 文件是由 Delegated Administrator 提供的,位于以下目录中:

da_base/lib/config-templates

使用 ldapmodify 命令将 replacement.acis.ldif 文件应用于目录后,ldapmodify 命令会删除根后缀处的全部 aci 属性实例,并用 replacement.acis.ldif 文件中的 ACI 来替换这些 ACI。

因此,此过程首先会从根后缀处删除全部 ACI,然后用下面列出的一组 ACI 来替换它们。如果目录中包含由其他应用程序(例如 Portal Server)生成的 ACI,则应该将这些 ACI 保存到一个文件中,然后在应用 replacement.acis.ldif 文件之后将这些 ACI 重新应用于目录。

有关使用此 ldif 文件来清理 ACI 的说明,请参见替换 ACI 的步骤

replacement.acis.ldif 文件

dn: $rootSuffix
changetype: modify
replace: aci
aci: (targetattr = “*”)(version 3.0; acl “Configuration Administrator”;
   allow (all)
   userdn=”ldap:///uid=admin,ou=Administrators,ou=TopologyManagement,
o=NetscapeRoot”;)
aci: (target=”“ldap:///$rootSuffix”)
  (targetfilter=(!(objectclass=sunServiceComponent)))
  (targetattr != “userPassword||passwordHistory
   ||passwordExpirationTime||passwordExpWarned||passwordRetryCount
  ||retryCountResetTime||accountUnlockTime||passwordAllowChangeTime”)
  (version 3.0; acl “anonymous access rights”;
   allow (read,search,compare)
   userdn = “ldap:///anyone”; )
aci: (targetattr != “nsroledn||aci||nsLookThroughLimit||nsSizeLimit
  ||nsTimeLimit||nsIdleTimeout||passwordPolicySubentry||passwordExpiration
    Time
  ||passwordExpWarned||passwordRetryCount||retryCountResetTime
  ||accountUnlockTime||passwordHistory||passwordAllowChangeTime||uid||mem
    berOf
  ||objectclass||inetuserstatus||ou||owner||mail||mailuserstatus
  ||memberOfManagedGroup||mailQuota||mailMsgQuota||mailhost
  ||mailAllowedServiceAccess||inetCOS||mailSMTPSubmitChannel”)
  (version 3.0; acl “Allow self entry modification”;
  allow (write)
  userdn =”ldap:///self”;)
aci: (targetattr != “ aci || nsLookThroughLimit || nsSizeLimit
  || nsTimeLimit|| nsIdleTimeout”)
  (version 3.0; acl “Allow self entry read search”;
  allow(write)
  userdn =”ldap:///self”;)
aci: (target=”ldap:///$rootSuffix”)
  (targetattr=”*”)
  (version 3.0; acl “S1IS Proxy user rights”;
  allow (proxy)
  userdn = “ldap:///cn=puser,ou=DSAME Users,
  $rootSuffix”; )
aci: (target=”ldap:///$rootSuffix”)
  (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,
  $rootSuffix”; )
aci: (target=”ldap:///$rootSuffix”)
  (targetattr=”*”)
  (version 3.0; acl “S1IS special ldap auth user rights”;
  allow (read,search)
  userdn = “ldap:///cn=amldapuser,ou=DSAME Users,
  $rootSuffix”; )
aci: (target=”ldap:///$rootSuffix”)
  (targetattr=”*”)
  (version 3.0; acl “S1IS Top-level admin rights”;
  allow (all)
  roledn = “ldap:///cn=Top-level Admin Role,
  $rootSuffix”; )
aci: (targetattr=”*”)
  (version 3.0; acl “Messaging Server End User Administrator Read Only
   Access”;
  allow (read,search)
  groupdn=”ldap:///cn=Messaging End User Administrators Group,ou=Groups,
  $rootSuffix”;)
aci: (targetattr=”objectclass || mailalternateaddress || Mailautoreplymode
   || mailprogramdeliveryinfo || preferredlanguage || maildeliveryoption
   || mailforwardingaddress || mailAutoReplyTimeout
   || mailautoreplytextinternal
   || mailautoreplytext || vacationEndDate || vacationStartDate
   || mailautoreplysubject || maxPabEntries || mailMessageStore
   || mailSieveRuleSource || sunUCDateFormat || sunUCDateDeLimiter
   || sunUCTimeFormat || mailuserstatus || maildomainstatus”)
  (version 3.0; acl “Messaging Server End User Administrator All Access”;
  allow (all)
  groupdn = “ldap:///cn=Messaging End User Administrators Group,ou=Groups,
  $rootSuffix”;)
aci: (targetattr = “*”)
  (version 3.0;acl “Allow Read-Only Access”;
  allow (read,search,compare)
  groupdn = “ldap:///cn=Read-Only,ou=Groups,
  $rootSuffix”;)
aci: (target=”ldap:///cn=Organization Admin Role,($dn),$rootSuffix”)
  (targetattr=”*”)
  (version 3.0; acl “S1IS Organization Admin Role access deny”;
  deny (write,add,delete,compare,proxy)
  roledn = “ldap:///cn=Organization Admin Role,($dn),
  $rootSuffix”;)
aci: (target=”ldap:///($dn),$rootSuffix”)
  (targetattr=”*”)
  (version 3.0; acl “Organization Admin Role access allow read”;
  allow(read,search)
  roledn = “ldap:///cn=Organization Admin Role,[$dn],
  $rootSuffix” ;)
aci: (target=”ldap:///($dn),$rootSuffix”)
  (targetfilter=(!(|(nsroledn=cn=Top-level Admin Role,$rootSuffix)
  (entrydn=($dn),$rootSuffix))))
  ( targetattr = “*”)
  (version 3.0; acl “S1IS Organization Admin Role access allow”;
  allow (all)
  roledn = “ldap:///cn=Organization Admin Role,[$dn],
  $rootSuffix”;)

替换 ACI 的步骤

开始之前

在开始此过程之前,建议您先检查目录中现有的 ACI。您应确定是否可能需要保留任何将被此过程删除的 ACI。

此过程首先会从根后缀处删除全部 ACI,然后用下面列出的一组 ACI 来替换它们。如果目录中包含由 Messaging Server 以外的应用程序生成的 ACI,则应该将这些 ACI 保存到一个文件中,然后在应用 replacement.acis.ldif 文件后将这些 ACI 重新应用于目录。

要获得有关对 Access Manager 和 Messaging Server 生成的现有 ACI 进行分析的帮助,请参见本附录后面的以下几节:

替换 ACI

以下过程描述了如何合并根后缀中的 ACI 并删除未使用的 ACI。

Procedure替换 ACI 的步骤

步骤
  1. 保存根后缀上现有的 ACI。

    可以使用 ldapsearch 命令,如以下示例所示:

    ldapsearch -Dcn=Directory Manager -w <password> -s base -b <$rootSuffix> aci=* aci ><filename>

    其中

    <password> 是 Directory Server 管理员的密码。

    <$rootSuffix> 是根后缀, 例如 o=usergroup

    <filename> 是所保存 ACI 将被写入的文件的名称。

  2. 复制并重命名 replacement.acis.ldif 文件。

    安装了 Delegated Administrator 后,就会将 replacement.acis.ldif 文件安装在以下目录中:

    da_base /lib/config-templates

  3. 编辑您的 replacement.acis.ldif 文件副本中的 $rootSuffix 条目。

    将根后缀参数 $rootSuffix 更改为您的根后缀(例如 o=usergroup)。$rootSuffix 参数会在 ldif 文件中出现多次;必须将每个实例都替换掉。

  4. 使用 LDAP 目录工具 ldapmodify 替换 ACI。

    例如,可以运行以下命令:

    ldapmodify -D <directory manager> -w <password> -f <replacement.acis.finished.ldif>

    其中

    <directory manager> 是 Directory Server 管理员的用户名。

    <password> 是 Directory Server 管理员的密码。

    <replacement.acis.finished.ldif> 是编辑后的 ldif 文件名,该文件用于合并和删除目录中的 ACI。

清除动态组织 ACI

使用 Delegated Administrator 控制台创建了一个组织后,就在该组织节点上创建了一组 ACI。

由于在上述过程中安装了替换 ACI,因此不需要每个组织上的这些 ACI。您可以通过使用 Access Manager 控制台来防止在每个组织节点上创建 ACI。

Procedure清除动态组织 ACI 的步骤

步骤
  1. 作为 amadmin 登录到 AM 控制台。

    AM 控制台位于以下 url:

    http://< machine name>:<port >/amconsole

    其中

    <machine name> 是运行 Access Manager 的计算机

    <port> 是端口

  2. 选择“服务配置”选项卡。

    默认情况下将显示“管理配置”页。

  3. 在控制台右侧,向下滚动到“动态管理职责 ACI”。

  4. 选择并删除“动态管理职责 ACI”文本框中的所有 ACI。

  5. 保存编辑后的设置。