2 votes

Violation de la classe d'objets LDAP : l'attribut ou n'est pas autorisé dans le suffixe ?

Je suis sur le point de mettre en place un annuaire LDAP. Il est utilisé comme un outil pour communiquer les permissions des utilisateurs d'une application web à l'accès au système de fichiers WebDav, par exemple, l'ajout d'un utilisateur à la plate-forme web doit permettre la connexion au système de fichiers avec les mêmes informations d'identification. Il n'y a pas d'autres utilisations prévues. Suivant ce tutoriel allemand qui encourage l'utilisation des attributs c , o , ou etc. dc J'ai configuré le suffixe et la racine suivants :

suffix                "ou=webtool,o=myOrg,c=de"
rootdn                "cn=ldapadmin,ou=webtool,o=myOrg,c=de"

Le serveur démarre et je peux m'y connecter par Admin LDAP qui rapporte "LDAP error : Objects lacks". Eh bien, il n'y a pas encore d'objets.

Je veux maintenant créer les éléments root et admin à partir de Shell. J'ai créé un élément init.ldif fichier :

dn: ou=webtool,o=myOrg,c=de
objectclass: dcObject
objectclass: organization
dc: webtool
o: webtool

dn: cn=ldapadmin,ou=webtool,o=myOrg,c=de
objectclass: organizationalRole
cn: ldapadmin

En essayant de charger le fichier, je me heurte à une erreur, qui me dit que ou n'est pas autorisé :

server:~ # ldapadd -x -D "cn=ldapadmin,ou=webtool,o=myOrg,c=de" -W -f init.ldif
Enter LDAP Password:
adding new entry "ou=webtool,o=myOrg,c=de"
ldap_add: Object class violation (65)
        additional info: attribute 'ou' not allowed

Je n'utilise pas ou n'importe où sauf dans le suffixe, donc la question : C'est autorisé ici, non ? Qu'est-ce que est autorisé ici ?

1voto

Matthias Ronge Points 427

Il existe de nombreuses dépendances pour la création d'éléments, et les messages d'erreur sont plutôt déroutants si vous ne connaissez pas le concept. Le site objectclass n'est pas nécessairement dcObject pour le nœud racine des bases de données, comme on peut le deviner en lisant plusieurs tutoriels. Au lieu de cela, il doit correspondre au type de l'objet : Ici, pour un nom commençant par ou= il doit être organizationalUnit . J'ai trouvé cette information dans ces tableaux . Plus loin, la classe d'objets dicte quelles propriétés doivent et peuvent être ajoutées dans l'enregistrement. Ici, organizationalUnit doit avoir un ou: et ne doit pas avoir ni dc: ni o: entrées. Ainsi, les sains init.ldif ressemble à ça :

dn: ou=webtool,o=myOrg,c=de
objectclass: organizationalUnit
ou: LDAP server for my webtool

dn: cn=ldapadmin,ou=webtool,o=myOrg,c=de
objectclass: organizationalRole
cn: ldapadmin

Note : La page indique également : "Bien que de nombreuses objectClasses ne présentent aucun attribut MUST, vous devez (aïe) suivre toute hiérarchie [ ] pour déterminer si c'est vraiment le cas." Je pensais que cela signifierait que mon enregistrement racine devrait fournir les champs obligatoires pour les éléments suivants c= y o= ( c: y o: respectivement) mais c'est no l'affaire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X