로드 시 OpenLDAP 비밀번호 정책 재정의 오류

로드 시 OpenLDAP 비밀번호 정책 재정의 오류

비밀번호 정책 오버레이를 로드하려고 하는데 다음 오류가 발생합니다.

ldapadd  -Wx -D "cn=Manager,cn=config"  -f overlay.ldif 
Enter LDAP Password: 
adding new entry "olcOverlay=ppolicy,olcDatabase={0}bdb,cn=config"
ldap_add: No such object (32)
    matched DN: cn=config

파일 내용은 다음과 같습니다.

dn: olcOverlay=ppolicy,olcDatabase={0}bdb,cn=config
olcOverlay: ppolicy
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcPPolicyDefault: cn=default,ou=Policies,dc=site,dc=com
olcPPolicyHashCleartext: TRUE
olcPPolicyUseLockout: FALSE

내가 찾은 로그에서:

config_add_internal: DN="olcOverlay=ppolicy,olcDatabase={0}bdb,cn=config" not child of DN="cn=config"

저는 CentOS 6.3과 openldap-servers-2.4.23-26.el6_3.2.x86_64를 사용하고 있습니다.

답변1

cn=configOpenLDAP 데이터베이스의 일부 레코드는 숫자 접두사( 등)를 사용 {0}합니다 {1}. 따라서 데이터베이스의 내용을 수정하려면 cn=config올바른 DN(고유 이름: 레코드 경로)을 사용해야 합니다. OpenLDAP에서 사용될 때 cn=config첫 번째 olcDatabase 항목은 일반적으로 구성 데이터베이스 자체( olcDatabase={0}config,cn=config)입니다. 내 특정 시스템에서 내 기본 데이터베이스는 olcDatabase={1}hdb,cn=config.

수정해야 할 DN을 모르는 경우 olcDatabase알 수 있는 유일한 방법은 해당 DN을 검색하여 결과를 확인하는 것입니다.


이 숫자(비트)는 두 가지 목적으로 {0}사용됩니다.

  1. 동일한 이름을 가진 여러 항목을 가질 수 있습니다.
    2개의 olcDatabase=bdb데이터베이스가 있고 동일한 DN을 가진 2개의 항목을 가질 수 없기 때문에 문제가 있을 수 있습니다.
  2. 그들은 주문을 허용합니다.
    LDAP 프로토콜은 순서에 관심이 없습니다. 그러나 주문을 허용하기 위해 RDN에 접두사를 추가할 수 있습니다 {X}. 이 특별한 경우에 데이터베이스를 주문해야 하는 이유가 무엇인지 모르겠습니다. 그러나 다른 주요 사용 사례도 있습니다 cn=schema,cn=config. 예를 들어 에서는 cn=schema스키마가 이전 스키마의 속성에 의존하는 객체 클래스를 정의할 수 있습니다. 따라서 시나리오는 순차적으로 로드되어야 합니다.

답변2

olcDatabase={0}bdb,cn=config

로 변경해야 합니다.

olcDatabase={2}bdb,cn=config

관련 정보