이 튜토리얼 을 따라 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
이것이 컴퓨터의 유일한 데이터베이스이기 때문에 의미가 없으며 이것이 내가 추가하는 첫 번째 항목입니다.