LDAP 用戶端使用回溯變更記錄確定對目錄伺服器資料所做的變更歷程記錄。回溯變更記錄儲存在與目錄伺服器變更記錄不同的資料庫中,位於尾碼 cn=changelog 下。
回溯變更記錄可以在複寫拓樸中的獨立伺服器或每部伺服器上啟用。在一部伺服器上啟用回溯變更記錄時,預設會記錄該伺服器上所有尾碼的更新。回溯變更記錄可以配置為僅記錄指定尾碼的更新。
如需有關在複寫的拓樸中使用回溯變更記錄的資訊,以及有關使用回溯變更記錄的限制,請參閱「Sun Java System Directory Server Enterprise Edition 6.2 Reference」中的「Replication and the Retro Change Log Plug-In」。
如需有關回溯變更記錄中某項目的屬性之資訊,請參閱 changeLogEntry(5dsoc) 線上手冊。
如需修改回溯變更記錄的更多資訊,請參閱 dsconf(1M) 線上手冊。
本節說明可以使用回溯變更記錄的各種方式。
若要使用回溯變更記錄,必須啟用記錄。
無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。
修改回溯變更記錄配置項目:
$ dsconf set-server-prop -h host -p port retro-cl-enabled:on |
重新啟動伺服器。
如需相關資訊,請參閱啟動、停止與重新啟動目錄伺服器實例。
在一部伺服器上啟用回溯變更記錄時,預設會記錄該伺服器上所有尾碼的更新。本程序說明如何配置回溯變更記錄僅記錄指定尾碼的更新。
無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。
修改回溯變更記錄配置項目:
$ 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 |
重新啟動伺服器。
如需相關資訊,請參閱啟動、停止與重新啟動目錄伺服器實例。
本程序說明如何配置回溯變更記錄,以在刪除項目時記錄該項目的指定屬性。
無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。
指定必須記錄的屬性:
$ 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 |
重新啟動伺服器。
如需相關資訊,請參閱啟動、停止與重新啟動目錄伺服器實例。
回溯變更記錄中的項目在指定的一段時間過後,會自動移除。若要配置項目經過多久的時間後會自動刪除,請務必啟用回溯變更記錄,再設定 cn=Retro Changelog Plugin、cn=plugins 與 cn=config 項目中的 nsslapd-changelogmaxage 配置屬性。
無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。
檢查是否已啟用回溯變更記錄。
$ dsconf get-server-prop -h host -p port retro-cl-enabled |
若未啟用回溯變更記錄,請啟用記錄。
$ dsconf set-server-prop -h host -p port retro-cl-enabled:on |
為記錄的變更設定最長存在期限。
$ 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 |
下次在變更記錄上進行作業時會修剪回溯變更記錄。
回溯變更記錄支援搜尋作業。該記錄適用於包含此格式的篩選器之搜尋:
(&(changeNumber>=X)(changeNumber<=Y)) |
根據一般規則,請勿於回溯變更記錄項目上執行增加或修改作業。您可以刪除項目以修剪記錄大小。修改預設存取控制策略是唯一需要在回溯變更記錄上執行的修改作業。
所有認證的使用者 (userdn=anyone,以與 userdn=all 的匿名存取有所區分) 皆會被授予回溯變更記錄最上層項目 cn=changelog 之讀取、搜尋與比較權限。
除了以隱含方式授予目錄管理員之外,不會授予寫入與刪除存取權。
請勿授予匿名使用者讀取權,因為回溯變更記錄項目可能包含密碼等機密資訊的修改。如果不希望認證的使用者能檢視回溯變更記錄內容,可能會想要進一步限制該內容的存取權。
若要修改套用到回溯變更記錄的預設存取控制策略,請修改 cn=changelog 項目的 aci 屬性。請參閱第 6 章, 目錄伺服器存取控制。