15 votes

Installation basique d'openldap en utilisant la configuration slapd.d

J'essaie de mettre en place un serveur openldap de test, n'ayant jamais travaillé avec openldap auparavant. J'utilise le paquetage standard openldap-servers sur une machine basée sur redhat (utilisant Oracle Linux). J'ai installé les paquets, et démarré le serveur.

Je n'ai maintenant aucune idée de la façon d'amener le serveur à faire quelque chose d'utile ; je ne peux pas y naviguer en utilisant luma ('No such object' quand j'essaie d'accéder à l'entrée de premier niveau), la documentation openldap est obtuse quant à la façon d'amener un serveur à une configuration de base fonctionnelle, et toutes les informations en ligne sont pour l'ancien fichier slapd.conf plutôt que pour le nouveau slapd.d et cn=config.

Comment puis-je faire fonctionner une installation openldap packagée vanille où je peux naviguer vers le DN racine dans luma ?

22voto

Sven Points 95985

Je ressens votre douleur.

Essayez ceci (il a été testé sur Scientific Linux 6.5, il devrait donc fonctionner sur OL également) :

  • Installer les serveurs OpenLDAP : yum install openldap-servers openldap-clients )

  • commencer slapd : service slapd start (et peut-être chkconfig slapd on )

  • Créez des mots de passe pour cn=config et votre utilisateur normal d'administration LDAP avec slappasswd . Notez le résultat de cette opération.

  • Créez un fichier LDIF avec le contenu suivant :

    dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj

    dn: olcDatabase={2}bdb,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj

    replace: olcRootDN olcRootDN: cn=admin,dc=your,dc=base,dc=com

    replace: olcSuffix olcSuffix: dc=your,dc=base,dc=com

  • Les valeurs pour olcRootPW doit être remplacé par la sortie de slappaswd que vous avez noté plus tôt.

  • Naturellement, olcSuffix y olcRootDN doit être adapté à votre nouvelle base DN.

  • Transmettez tout cela au serveur LDAP avec la commande suivante :

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

Après cela, vous devriez être en mesure de vous connecter aux deux cn=config y dc=your,dc=base,dc=com via LDAP.

10voto

Pavla Points 21

Avant de démarrer le serveur OpenLDAP, vous devez d'abord configurer quelques éléments.

Configuration de base

Vous devez configurer un utilisateur et un mot de passe root, ainsi que définir votre DN de base. Dans slapd.conf cherchez les lignes qui suivent les lignes, et définissez-les aux valeurs que vous voulez.

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"

Habituellement, votre DN de base (défini comme suffix dans le fichier) est constitué des composants de votre nom de domaine, séparés par des virgules et préfixés par l'expression dc= . Donc, serverfault.com pourrait devenir dc=serverfault,dc=com . Votre rootdn doit être sous ce suffixe.

Vous devez également modifier la ligne qui définit le mot de passe root. Vous pouvez le définir comme une valeur en clair, ou utiliser la fonction slappasswd pour créer un hachage. Vous devez ensuite mettre soit la valeur en clair soit la valeur hachée hors de slappasswd dans une ligne qui ressemble à ça :

rootpw myultrasecurepassword

Schémas

Il est bon, à ce stade, de commencer à réfléchir aux schémas que vous souhaitez utiliser. Un schéma définit les attributs qu'un objet peut avoir. Vous devez donc inclure les schémas qui contiennent les attributs dont vous avez besoin. Ces schémas sont inclus en haut de slapd.conf et ceux qui figurent ici sont généralement les schémas de base absolus dont vous aurez besoin :

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

Ces chemins sont ceux utilisés dans Arch Linux, vous devrez peut-être les ajuster pour qu'ils conviennent à Oracle Linux.

À propos de slapd.conf vs slapd.d

OpenLDAP est passé d'une configuration hors ligne (faite en slapd.conf ) à la configuration en ligne, en stockant les données dans un fichier spécial cn=config arbre trouvé dans slapd.d . Modifier le ldif fichiers dans slapd.d est un processus douloureux cependant, il est beaucoup plus facile d'éditer slapd.conf comme ci-dessus, puis convertissez-le dans le nouveau slapd.d format.

D'abord, enlevez tout ce qui se trouve dans slapd.d . Ensuite, exécutez la commande suivante, en veillant à ajuster les chemins d'accès à Oracle Linux :

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Ensuite, il suffit de définir le propriétaire comme étant votre utilisateur LDAP et votre groupe sur ce répertoire de manière récursive, et vous devriez être prêt à partir. Ceci doit être fait à chaque fois que vous modifiez slapd.conf - N'oubliez pas d'arrêter le serveur OpenLDAP avant de le faire !

Exécution initiale

Avant de pouvoir utiliser le répertoire, vous devez créer le DN de base (et l'utilisateur root). Créez un .ldif contenant des lignes similaires à celles qui suivent :

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example

dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root

Maintenant, démarrez le serveur OpenLDAP. Nous avons juste besoin de pousser cette information dans l'annuaire LDAP :

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif

Changez évidemment le DN de la racine et le nom du fichier ldif pour qu'ils correspondent à ce que vous avez.

Vous devriez maintenant avoir un répertoire LDAP fonctionnel et prêt à être alimenté !


Le wiki d'Arch Linux est une grande source d'informations sur ce sujet - voir https://wiki.archlinux.org/index.php/OpenLDAP y https://wiki.archlinux.org/index.php/LDAP_Authentication si vous voulez en savoir plus.

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