Je suis très nouveau sur openldap mais extrêmement bien versé dans l'environnement linux/unix. J'essaie de configurer mon tout premier environnement openldap de test en utilisant le guide ici . J'ai également lu la plupart du guide d'administration ici et je dois admettre que c'est beaucoup à prendre.
Donc, en suivant le guide de configuration de base ubuntu, j'ai créé un fichier ldif qui ressemble à ceci:
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Groups,dc=example,dc=com
objectClass: organizationalUnit
ou: Groups
dn: cn=engineers,ou=Groups,dc=example,dc=com
objectClass: posixGroup
cn: engineers
gidNumber: 5000
dn: uid=john,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
userPassword: johnldap
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john
Chaque fois que j'essayais de l'ajouter en utilisant:
$ ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_content.ldif
J'obtiens l'erreur suivante:
adding new entry "cn=engineers,ou=Groups,dc=my-domain,dc=com"
ldap_add: Invalid syntax (21)
additional info: objectClass: value #0 invalid per syntax
adding new entry "uid=john,ou=People,dc=my-domain,dc=com"
ldap_add: Invalid syntax (21)
additional info: objectClass: value #0 invalid per syntax
Les résultats dans google pour cette erreur ne contiennent aucune suggestion utile. Que pourrais-je faire de mal ici?
Votre problème est sans aucun doute que vous devez charger le schéma nis
dans votre serveur LDAP. La procédure à suivre varie selon que vous utilisez l'héritage slapd.conf
fichier de configuration ou la nouvelle configuration dynamique hébergée dans cn=config
et soutenu par un slapd.d
répertoire.
slapd.conf
Vous devrez include
la définition du schéma dans votre slapd.conf
en ajoutant une ligne suivant:
include /usr/local/etc/openldap/schema/nis.schema
Cela suppose que le nis.schema
le fichier se trouve sur ce chemin; sinon, modifiez le chemin d'accès de manière appropriée.
Vous devrez redémarrer slapd
pour activer le nouveau schéma.
slapd.d
(J'inclus ceci pour être complet, bien que ce ne soit pas directement pertinent pour votre configuration actuelle).
Pour charger un schéma dans slapd
si vous utilisez la dynamique cn=config
configuration, vous utiliseriez ldapadd
. Selon la configuration de vos ACL, la commande peut ressembler à ceci:
ldapadd -Y EXTERNAL -H ldapi:// -f /usr/local/etc/openldap/schema/nis.ldif
Cela suppose que votre slapd
en cours d'exécution possède une ACL permettant l'authentification des "informations d'identification d'homologue" à root
. Si cela ne fonctionne pas, vous devez fournir un DN de liaison et un mot de passe appropriés à l'aide de -D
et -W
.
Aucun redémarrage n'est requis dans ce cas.
J'ai récemment rencontré ce problème en suivant le tutoriel Ubuntu OpenLDAP Server . Résolu en supprimant tous les espaces de fin de mes lignes.
Je le corrige en supprimant le file.ldif
que je veux facturer en openldap (par exemple: data.ldif
) car l'éditeur de texte vi
insère parfois des caractères invisibles par erreur ou bug et cela affecte votre fichier ldif. Alors supprimez-le et vous en créez un autre et essayez de télécharger chaque instruction une par une et vérifiez avec la commande ldapsearch -x -h nameofyourserver -b “dc=whateveris,dc=com”
, au revoir et j'espère vous aider avec cela.