Ich versuche, diesem Tutorial zu folgen, um einen grundlegenden LDAD-Server (OpenLDAP) für die Cleint-Authentifizierung einzurichten, aber ich bleibe bei dem Schritt, bei dem ich die Back-End-Konfiguration hinzufüge.
Ich habe meine Datei backend.ldif wie angegeben erstellt und versuche, sie hinzuzufügen mit:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
Aber ich verstehe:
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
Das vollständige LDIF lautet:
#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
Irgendwelche Vorschläge zur Fehlerbehebung? Ich weiß nichts über LDAP-Server. Dies ist meine erste.
AKTUALISIEREN:
Ich habe mit einer brandneuen Installation von 11.04 Server neu begonnen.
Ich habe folgendes getan:
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
Ich versuche das erste Schema zu laden:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
Ich bekomme:
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"
Ich habe den folgenden Befehl ausprobiert:
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
Diesmal geht es jedoch nicht um ein Modul, sondern um einen "Duplicate attributeType".
Ich brauche also einen Befehl mit der Aufschrift "Geladene Attributtypen anzeigen", um festzustellen, ob "Cosinus" bereits in der Liste enthalten ist.
OK, ich gehe davon aus, dass:
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
sind unnötig, da sie alle Produkte den gleichen Fehler haben.
Also fuhr ich mit dem Hinzufügen von ~ / backend.ldif fort. Ich habe die Lademodulzeilen von oben entfernt, da das Modul bereits geladen zu sein scheint.
Wenn ich jetzt versuche hinzuzufügen:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
Ich bekomme:
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
Das macht keinen Sinn, da dies die einzige Datenbank auf dem Computer ist und dies der erste Eintrag ist, den ich hinzufüge.