2017-12-24 20 views

答えて

0

これは、識別名"cn=kerberoskdc,cn=config,dc=example,dc=com"に対応するデータをロードするためのバックエンドを要求するslapdです。これはldap操作を実行するときに大変なことになりますが、dnは高速検索の主キーとして使用されます。

bdb_dn2entryは、slapdのバックエンドで使用される内部関数で、ldap操作が実行されたときに呼び出されます(この行が表示されるログファイルでどの操作が呼び出しをトリガーするかを確認できるはずです)。

Openldapは通常のslapdデータベースにバックエンドを使用します。バックエンドは、 要求に応じてデータを格納または取得する実際の作業を行います。バックエンドはslapdに静的にコンパイルされるか、 モジュールサポートが有効になっているときに動的にロードされます。

OpenLDAPのbdb abd hdbバックエンドは、Oracle Berkeley DB(BDB) パッケージを使用してデータを格納します。

bdb_dn2entryは、実際にデータベースからデータを取得する機能です。実際の行動がdn2entry.cで行わ

/** 
* dn2entry.c 
*/ 
#define bdb_dn2entry    BDB_SYMBOL(dn2entry) 

int bdb_dn2entry LDAP_P((Operation *op, DB_TXN *tid, 
    struct berval *dn, EntryInfo **e, int matched, 
    DB_LOCK *lock)); 

:その他のLDAPのバックエンド(だけでなく、BDB/HDB用)は、それがソースコードのヘッダファイルproto-bdb.hに関数プロトタイプとして定義されると共有さ

dn2entryは、キャッシュ/インデックス内のdnをルックアップし、対応するエントリを返します。要求されたDNが見つからず、matchedTRUEの場合、DNの最も近い祖先の情報が返されます。それ以外の場合はEntryInfo eNULLです。

+0

EricLavault..詳細な回答をいただきありがとうございます。私はこの操作を実行している間にこのメッセージを受け取りました。con.auth 'cn = user、dc = example、dc = com'、 'user'言及したDNが異なる場合、異なるDNがトリガされる理由を教えてください。 – Praneetha

関連する問題