ldap_add 오류 (80) <olcModuleLoad> 핸들러가 1로 종료되었습니다.


8

튜토리얼 을 따라 cleint 인증을위한 기본 LDAD 서버 (OpenLDAP)를 설정 하려고하는데 백엔드 구성을 추가하는 단계에 멈춰 있습니다.

backend.ldif 파일을 지정한대로 만들었으며 다음을 사용하여 파일을 추가하려고합니다.

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif

그러나 나는 얻는다 :

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: <olcModuleLoad> handler exited with 1

전체 LDIF는 다음과 같습니다.

#Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=mydomain,dc=us
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=mydomain,dc=us
olcRootPW: dmx512
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=mydomain,dc=us" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=mydomain,dc=us" write by * read

문제 해결 방법에 대한 제안 사항이 있습니까? 나는 이것이 LDAP 서버에 대해 전혀 모른다.

최신 정보:

11.04 Server의 새로운 설치로 시작했습니다.

나는 다음을 수행했다.

hostname ldap.mycompany.com
nano /etc/hosts (set to ldap.mycompany.com)
nano /etc/hostname (set to ldap.mycompany.com)
sudo apt-get install slapd ldap-utils

첫 번째 스키마를로드하려고합니다.

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif

나는 얻다:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: olcAttributeTypes: Duplicate attributeType: "0.9.2342.19200300.100.1.2"

아래 제안 된 명령을 시도했습니다.

root@ldap:~# cat /etc/ldap/slapd.d/cn\=config/cn\=module\{0\}.ldif
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
structuralObjectClass: olcModuleList
entryUUID: 3bedbe64-e4b2-1030-832a-17900c7b3644
creatorsName: cn=config
createTimestamp: 20120206020131Z
entryCSN: 20120206020131.785958Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20120206020131Z

그러나 이번에는 모듈에 대해 불평하지 않고 "중복 attributeType"에 대해 불평합니다.

따라서 "코사인"이 이미 목록에 있는지 확인하려면 "로드 된 속성 유형 표시"라는 명령이 필요합니까?

좋아, 나는 다음과 같이 가정 할 것이다.

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif

모든 제품에 동일한 오류가 있으므로 불필요합니다.

그래서 ~ / backend.ldif를 추가했습니다. 모듈이 이미로드 된 것 같아서로드 모드 라인을 상단에서 제거했습니다.

이제 추가하려고하면 :

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif

나는 얻다:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcDatabase=hdb,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: <olcSuffix> namingContext "dc=mycompany,dc=us" already served by a preceding hdb database

이것이 컴퓨터의 유일한 데이터베이스이기 때문에 의미가 없으며 이것이 내가 추가하는 첫 번째 항목입니다.

답변:


6

오류 메시지는 back_hdb모듈이 구성에 이미 포함되어 있음을 나타냅니다 . 명령으로 이것을 확인할 수 있습니다

cat /etc/ldap/slapd.d/cn\=config/cn\=module\{0\}.ldif

여기에 다음과 유사한 줄이 포함되어 있으면 이미 포함 된 것입니다.

olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb 

이 경우 처음 6 줄을 제거하고 backend.ldif다시 시도하십시오.

처음부터 시작하려면 다음 명령을 사용할 수 있습니다

apt-get purge slapd ldap-utils

모든 데이터 파일을 포함한 완전한 ldap 설치를 제거합니다.

그런 다음 해당 명령을 사용하여 OpenLDAP를 다시 설치해야합니다.

apt-get install slapd ldap-utils

BTW, 방금이 자습서를 따르고 (스크립트의 모든 기본값을 사용하는 동안) 새로 만든 Lucid VM에서 제대로 작동했습니다.


편집하다

좋아, 다른 게시물에서 10.04에 대해 이야기했습니다. 실제로 11.04의 자동 구성은 slapd10.04와 비교할 때 훨씬 좋습니다. 스키마 파일과 backend.ldif 및 프론트 엔드의 일부와 관련하여 학습서에서 수행하는 모든 작업은 fronted.ldif에서 다음 행을 제거하고 계속 시도 할 수 있습니다.

# Create top-level object in domain
dn: dc=tuxnetworks,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: Tuxnetworks
dc: Tuxnetworks
description: LDAP Server 

# Admin user.
dn: cn=admin,dc=tuxnetworks,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: mypassword 

추가 힌트 : OpenLDAP ( cn=config) 의 백엔드 구성은 LDAP 구조와 동등한 파일 시스템 구조의 LDIF 파일 모음에 불과합니다. 에서 직접 찾아 볼 수 있습니다 /etc/ldap/slapd.d. 10.04는 slapd작업 을 시작 하기에 최소한의 여유가 있었으며 11.04는 모든 것을 준비하여 바로 시작할 수 있습니다.


나는 모든 일을 다시 시도 할 것입니다. 11.04 VM 에서이 작업을 수행하고 있습니다. 새 버전에 호환되지 않는 것이 있습니까? 또는 11.04와 함께 제공되는 OpenLDAP 버전에는 이미 해당 모듈이로드되어 있지만 10.04는 그렇지 않습니다. 따라서 ldap을 설치하고 나사를 조이면 "apt-get purge slapd ldap-utils"를 실행하는 것이 마치 새로 설치를 시작한 것과 동일합니까? "쓰레기"는 어디에도 남기지 않습니까?
Nick

좋아, 나는 새로 설치를 다시 시도하고 "코사인"스키마를로드하려고 할 때 "olcAttributeTypes : Duplicate attributeType"을 얻는다. 전체 메시지는 위를 참조하십시오.
Nick

내 편집을 참조하십시오.이 의견이 길어지고 있습니다.
Sven

10.04를 사용하고 자습서를 다시 따라 LDAP 작업을 수행했습니다. 제목 질문에 대답하기 때문에 해결 된 것으로 표시하고 있습니다. 감사!
Nick

1

back_hdb의 끝에 .la를 추가하십시오

LDIF는 이제 읽습니다

#Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb.la

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=mydomain,dc=us
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=mydomain,dc=us
olcRootPW: dmx512
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=mydomain,dc=us" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=mydomain,dc=us" write by * read

설명을 위해 : http://ubuntuforums.org/archive/index.php/t-1594138.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.