2017-12-24 6 views

답변

0

이 고유 이름 "cn=kerberoskdc,cn=config,dc=example,dc=com"에 대응하는 데이터를로드하기 위해 백엔드 요청 slapd이다. 이 작업은 LDAP 작업을 수행 할 때 많이 발생하며 dn은 빠른 조회의 기본 키로 사용됩니다.

bdb_dn2entryslapd의 백엔드에서 사용하는 내부 함수로, LDAP 작업이 수행 될 때 호출됩니다 (이 행이 나타나는 로그 파일에서 어떤 작업이 호출을 트리거하는지 볼 수 있어야합니다).

Openldap은 일반 slapd 데이터베이스에 백엔드를 사용합니다. 백엔드는 LDAP 요청에 대한 응답으로 데이터를 저장하거나 검색하는 실제 작업을 수행합니다. 백엔드는 slapd에 정적으로 컴파일되거나 모듈 지원이 활성화되면 동적으로로드 될 수 있습니다.

OpenLDAP의 bdb abd hdb 백엔드는 Oracle Berkeley DB (BDB) 패키지를 사용하여 데이터를 저장합니다.

bdb_dn2entry은 데이터베이스에서 실제로 데이터를 검색하는 기능입니다. 이 소스 코드에서 헤더 파일 proto-bdb.h에서 함수의 프로토 타입으로 정의되어 그것은 (뿐만 아니라 BDB/HDB에 대한) 다른 LDAP의 백엔드와 공유 :

/** 
* 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)); 

실제 동작은 dn2entry.c에서 일어난다 :

dn2entry은 캐시/색인에서 dn을 찾아 해당 항목을 반환합니다. 요청 된 DN이없고 matchedTRUE 인 경우 DN의 가장 가까운 조상에 대한 정보를 반환합니다. 그렇지 않은 경우 EntryInfo eNULL입니다.

+0

EricLavault.. 자세한 답변을 보내 주셔서 감사합니다. 이 작업을 수행하는 동안 그 메시지를 받았습니다. con.auth 'cn = user, dc = example, dc = com', 'user'. 언급 한 DN이 다른 경우 다른 DN이 트리거되는 이유를 설명해 주시겠습니까? – Praneetha

관련 문제