Sun Java System Directory Server Enterprise Edition 6.3 管理指南

使用追溯更改日志

追溯更改日志由 LDAP 客户端使用,用于确定目录服务器数据的更改历史记录。追溯更改日志与目录服务器更改日志存储在不同的数据库中,位于 cn=changelog 后缀下。

可以在单独的服务上或复制拓扑中的每个服务器上启用追溯更改日志。在服务器上启用追溯更改日志时,默认情况下将记录该服务器上所有后缀的更新。可以将追溯更改日志配置为只记录指定后缀的更新。

有关在复制拓扑中使用追溯更改日志以及使用追溯更改日志的限制的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.3 Reference》中的“Replication and the Retro Change Log Plug-In”

有关追溯更改日志中的条目属性的信息,请参见 changeLogEntry(5dsoc) 手册页。

有关修改追溯更改日志的详细信息,请参见 dsconf(1M) 手册页。

本部分说明使用追溯更改日志的各种方法。

Procedure启用追溯更改日志

要使用追溯更改日志,必须先启用该日志。

无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。

  1. 修改追溯更改日志配置条目:


    $ dsconf set-server-prop -h host -p port retro-cl-enabled:on
  2. 重新启动服务器。

    有关信息,请参见启动、停止和重新启动目录服务器实例

Procedure将追溯更改日志配置为记录指定后缀的更新

在服务器上启用追溯更改日志时,默认情况下将记录该服务器上所有后缀的更新。此过程介绍如何将追溯更改日志配置为只记录指定后缀的更新。

无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。

  1. 修改追溯更改日志配置条目:


    $ dsconf set-server-prop -h host -p port retro-cl-suffix-dn:suffix-DN
    

    例如,如果只记录 cn=Contractors,dc=example,dc=com 后缀和 ou=People,dc=example,dc=com 后缀上的更改,请使用以下命令:


    $ dsconf set-server-prop -h host2 -p 1389 \
     retro-cl-suffix-dn:"cn=Contractors,dc=example,dc=com" \
     retro-cl-suffix-dn:"ou=People,dc=example,dc=com"

    要在现有的指定后缀列表中添加后缀,请使用以下命令:


    $ dsconf set-server-prop -h host -p port retro-cl-suffix-dn+:suffix-DN
    
  2. 重新启动服务器。

    有关信息,请参见启动、停止和重新启动目录服务器实例

Procedure将追溯更改日志配置为记录已删除条目的属性

此过程介绍如何将追溯更改日志配置为在删除条目时记录该条目的指定属性。

无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。

  1. 指定必须记录的属性:


    $ dsconf set-server-prop -h host -p port retro-cl-deleted-entry-attr: \
     attribute1 attribute2
    

    例如,要将追溯更改日志设置为记录已删除条目的 UID 属性,请使用以下命令:


    $ dsconf set-server-prop -h host -p port retro-cl-deleted-entry-attr:uid

    要在现有的指定属性列表中添加属性,请使用以下命令:


    $ dsconf set-server-prop -h host -p port retro-cl-deleted-entry-attr+:attribute
    
  2. 重新启动服务器。

    有关信息,请参见启动、停止和重新启动目录服务器实例

Procedure修整追溯更改日志

在指定的一段时间过后,可以自动删除追溯更改日志中的条目。要配置一段时间,使条目在此时间段后自动删除,请确保已启用追溯更改日志,然后设置 cn=Retro Changelog Plugin, cn=plugins, cn=config 条目中的 nsslapd-changelogmaxage 配置属性。

无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。

  1. 检查是否已启用追溯更改日志。


    $ dsconf get-server-prop -h host -p port retro-cl-enabled
  2. 如果未启用追溯更改日志,请启用该日志。


    $ dsconf set-server-prop -h host -p port retro-cl-enabled:on
  3. 设置已记录的更改的最大存留期。


    $ dsconf set-server-prop -h host -p port retro-cl-max-age:duration
    

    其中 duration 可以是 undefined(无存留期限制)或以下任一选项:

    • s(秒)

    • m(分钟)

    • h(小时)

    • d(天)

    • w(周)

    例如,要将追溯更改日志的最大存留期设置为两天,请键入:


    $ dsconf set-server-prop -h host 2 -p 1389 retro-cl-max-age:2d

    每 5 分钟从更改日志中删除超过此期限的条目。

访问控制和追溯更改日志

追溯更改日志支持搜索操作。它针对特定搜索(包含以下格式的过滤器)进行了优化:


(&(changeNumber>=X)(changeNumber<=Y))

作为一般规则,请勿对追溯更改日志条目执行添加或修改操作。可以删除条目以修整日志大小。只有在修改默认访问控制策略时,才需要对追溯更改日志执行修改操作。

创建追溯更改日志时,默认情况下将应用以下访问控制规则:

要修改应用于追溯更改日志的默认访问控制策略,请修改 cn=changelog 条目的 aci 属性。请参见第 7 章,目录服务器访问控制