旧バージョン形式の更新履歴ログは LDAP クライアントが Directory Server データに対して行われた変更履歴を確認するために使用します。旧バージョン形式の更新履歴ログは、cn=changelog というサフィックスの下で、Directory Server の更新履歴ログに対する独立したデータベースに格納されます。
旧バージョン形式の更新履歴ログは、スタンドアロンサーバーまたはレプリケーショントポロジ内の各サーバー上で有効にできます。サーバー上で旧バージョン形式の更新履歴ログが有効になっている場合、デフォルトでは、そのサーバー上のすべてのサフィックスに対する更新がログファイルに記録されます。旧バージョン形式の更新履歴ログは、指定したサフィックスに対する更新のみをログファイルに記録するように設定できます。
レプリケーショントポロジで、旧バージョン形式の更新履歴ログを使用する方法および旧バージョン形式の更新履歴ログの使用の制限については、『Sun Java System Directory Server Enterprise Edition 6.3 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 |
サーバーを再起動します。
詳細については、「Directory Server インスタンスの起動、停止、および再起動」を参照してください。
サーバー上で旧バージョン形式の更新履歴ログが有効になっている場合、デフォルトでは、そのサーバー上のすべてのサフィックスに対する更新がログファイルに記録されます。この手順では、指定したサフィックスに対する更新のみを記録するように、旧バージョン形式の更新履歴ログを設定する方法について説明します。
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 |
サーバーを再起動します。
詳細については、「Directory Server インスタンスの起動、停止、および再起動」を参照してください。
この手順では、エントリが削除されたときにそのエントリの指定された属性を記録するように旧バージョン形式の更新履歴ログを設定する方法について説明します。
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 |
サーバーを再起動します。
詳細については、「Directory Server インスタンスの起動、停止、および再起動」を参照してください。
旧バージョン形式の更新履歴ログのエントリは、指定した期間の経過後に自動的に削除することができます。エントリを自動的に削除する期間を設定するには、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 (週)
たとえば、旧バージョン形式の更新履歴ログの最大経過時間を 2 日に設定するには、次のように入力します。
$ dsconf set-server-prop -h host 2 -p 1389 retro-cl-max-age:2d |
この経過時間を超えるエントリは、5 分ごとに更新履歴ログから削除されます。
旧バージョン形式の更新履歴ログは検索操作をサポートしています。また、次の形式のフィルタを含む検索用に最適化されています。
(&(changeNumber>=X)(changeNumber<=Y)) |
原則として、旧バージョン形式の更新履歴ログに対しては、追加操作や変更操作を行わないでください。ログのサイズを削減するため、エントリを削除できます。旧バージョン形式の更新履歴ログで修正処理を実行する必要があるのは、デフォルトのアクセス制御ポリシーを修正する場合だけです。
旧バージョン形式の更新履歴ログを作成すると、デフォルトで次のアクセス制御規則が適用されます。
旧バージョン形式の更新履歴ログのトップエントリ cn=changelog に対する読み取り、検索、および比較の権限は、すべての認証ユーザー (userdn=anyone のユーザー。userdn=all で指定された匿名アクセスとは異なる) に付与されます。
Directory Manager に対する暗黙の了承を除き、書き込みおよび削除アクセスは付与されません。
旧バージョン形式の更新履歴ログのエントリにはパスワードなどの重要な情報が含まれている場合があるので、読み取りアクセス権を匿名ユーザーに付与しないでください。認証されたユーザーにも内容の表示が許可されない場合でも、旧バージョン形式の更新履歴ログの内容へのアクセスをさらに制限することが必要なことがあります。
旧バージョン形式の更新履歴ログに対するデフォルトのアクセス制御ポリシーを変更するには、cn=changelog エントリの aci 属性を変更する必要があります。第 7 章「Directory Server のアクセス制御」を参照してください。