J'essaie de suivre ce tutoriel pour installer un serveur LDAD de base (OpenLDAP) pour l'authentification clé, mais je suis bloqué sur l'étape où j'ajoute la configuration principale.
J'ai créé mon fichier backend.ldif comme spécifié et j'essaye de l'ajouter avec:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
Mais je reçois:
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
Le LDIF complet est:
#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
Des suggestions sur la façon de dépanner? Je ne sais rien des serveurs LDAP, c'est mon premier.
MISE À JOUR:
J'ai recommencé avec une toute nouvelle installation de 11.04 Server.
J'ai fait ce qui suit:
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
J'essaie de charger le premier schéma:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
Je reçois:
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"
J'ai essayé la commande suggérée ci-dessous:
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
Mais ce n'est pas compliqué à propos d'un module cette fois, il se plaint d'un "Duplicate attributeType".
J'ai donc besoin d'une commande qui dit "afficher les types d'attributs chargés" pour voir si "cosinus" est déjà dans la liste?
OK, je vais supposer que:
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
sont inutiles car ils produisent tous la même erreur.
Je suis donc passé à l'ajout de ~ / backend.ldif. J'ai supprimé les lignes de chargement du module par le haut, car le module semble déjà chargé.
Maintenant, quand j'essaye d'ajouter:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
Je reçois:
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
Ce qui n'a aucun sens puisque c'est la seule base de données sur l'ordinateur, et c'est la première entrée que j'y ajoute.