GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et configurer OpenLDAP sur CentOS / RHEL Linux

LDAP signifie Lightweight Directory Access Protocol.

LDAP est une solution pour accéder aux informations stockées de manière centralisée sur le réseau. Ces informations stockées de manière centralisée sont organisées dans un répertoire conforme à la norme X.500.

Les informations sont stockées et organisées de manière hiérarchique et l'avantage de cette approche est que les informations peuvent être regroupées dans des conteneurs et que les clients peuvent accéder à ces conteneurs en cas de besoin.

La hiérarchie OpenLDAP est presque similaire à la hiérarchie DNS.

Voici les deux objets les plus couramment utilisés dans OpenLDAP :

  1. cn (nom commun) :il s'agit des entrées feuille, qui sont des objets finaux (par exemple :utilisateurs et groupes)
  2. dc (composant de domaine) – Cela fait référence à l'une des entrées de conteneur dans la hiérarchie LDAP. Si, dans une configuration, la hiérarchie LDAP est mappée à une hiérarchie DNS, généralement tous les domaines DNS sont appelés objets DC.

Par exemple, s'il existe un utilisateur dans la hiérarchie sam.thegeekstuff.com, le nom distinctif complet de cet utilisateur est référencé comme cn=sam, dc=thegeekstuff, dc=com. Si vous avez remarqué dans le FDN (nom distinctif complet), une virgule est utilisée comme séparateur et non un point, ce qui est courant dans le DNS.

En utilisant les différents types d'entrées LDAP, vous pouvez configurer une structure de répertoire hiérarchique. C'est la raison pour laquelle openLDAP est si largement utilisé. Vous pouvez facilement créer une hiérarchie openLDAP dans laquelle les objets des autres emplacements sont facilement référencés sans les stocker sur des serveurs locaux. Cela fait d'OpenLDAP un annuaire léger, en particulier par rapport à d'autres serveurs d'annuaire tels que l'Active Directory de Microsoft.

Voyons maintenant comment configurer une seule instance d'un serveur LDAP qui peut être utilisée par plusieurs clients de votre réseau pour l'authentification.

Installer les packages OpenLDAP

Sur CentOS et RedHat, utilisez yum install comme indiqué ci-dessous pour installer les packages liés à openldap.

yum install -y openldap openldap-clients openldap-servers

Vous devez installer les trois packages suivants :

  1. openldap-servers – Il s'agit du serveur LDAP principal
  2. openldap-clients :contient tous les utilitaires client LDAP requis
  3. openldap – Ce package contient les bibliothèques de support LDAP

Fichiers de configuration LDAP

  • config.ldif – La configuration LDAP par défaut est stockée dans un fichier dans /etc/openldap/slapd.d/cn=config.ldif créé au format LDIF. Il s'agit du format d'entrée LDAP (LDIF), un format spécifique qui vous permet de saisir des informations dans l'annuaire LDAP.
  • olcDatabase{2}bdb.ldif :vous pouvez également modifier les paramètres tels que le nombre de connexions que le serveur peut prendre en charge, les délais d'attente et d'autres paramètres de base de données dans le fichier /etc/openldap/slapd.d/cn=config/olcDatabase{2 }bdb.ldif. Il s'agit du fichier qui contient également les paramètres tels que l'utilisateur racine LDAP et le DN de base.

Créer un compte olcRootDN en tant qu'administrateur

Il est toujours recommandé de créer d'abord un compte utilisateur dédié avec les autorisations complètes pour modifier les informations sur la base de données LDAP.

Modifiez le fichier olcDatabase={2}bdb.ldif et modifiez l'entrée olcRootDN. Voici l'entrée par défaut.

# grep olcRootDN /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
olcRootDN: cn=Manager,dc=my-domain,dc=com

Remplacez la ligne ci-dessus par un utilisateur administrateur. Dans cet exemple, l'utilisateur "ramesh" sera l'olcRootDN.

olcRootDN: cn=ramesh,dc=thegeekstuff,dc=com

Créer un mot de passe racine olcRootPW

Utilisez maintenant la commande slappasswd pour créer un hachage pour le mot de passe root que vous souhaitez utiliser. Une fois le mot de passe généré, ouvrez le fichier cn=config.ldif, incluez le paramètre olcRootPW et copiez le mot de passe haché comme indiqué ci-dessous.

Exécutez la commande suivante et spécifiez un mot de passe. Cela générera le hachage pour le mot de passe donné.

# slappasswd
New password: SecretLDAPRootPass2015
Re-enter new password: SecretLDAPRootPass2015
{SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6

Prenez la sortie de hachage de la commande ci-dessus et ajoutez-la au paramètre oclRootPW dans le fichier config.ldif comme indiqué ci-dessous.

# vi /etc/openldap/slapd.d/cn=config.ldif
olcRootPW: {SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6

Créer un nom de domaine olcSuffix

Maintenant, configurez le olcSuffix et définissez le domaine que vous souhaitez. Modifiez simplement la ligne qui commence par olcSuffix dans le fichier olcDatabase={2}bdb.ldif comme indiqué ci-dessous.

# vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
olcSuffix: dc=thegeekstuff,dc=com

Vérifiez les fichiers de configuration

Utilisez la commande slaptest pour vérifier le fichier de configuration comme indiqué ci-dessous. Cela devrait afficher le message "test réussi" comme indiqué ci-dessous.

# slaptest -u
config file testing succeeded

Vous pourriez recevoir les messages suivants pendant la commande ci-dessus, que vous pouvez ignorer pour le moment.

54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif"

Démarrer le serveur LDAP

Démarrez le serveur LDAP comme indiqué ci-dessous.

# service slapd start
Checking configuration files for slapd: [WARNING]
config file testing succeeded
Starting slapd:                         [  OK  ]

Vérifiez la recherche LDAP

Pour vérifier que le serveur LDAP est correctement configuré, vous pouvez utiliser la commande ci-dessous et vérifier que l'entrée de domaine est présente.

# ldapsearch -x -b "dc=thegeekstuff,dc=com"
# extended LDIF
#
# LDAPv3
# base <dc=thegeekstuff,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 2
result: 32 No such object
# numResponses: 1

Structure LDAP de base dans base.ldif

L'utilisation d'objets OU (unité organisationnelle) peut vous aider à fournir une structure supplémentaire à la base de données LDAP. Si vous prévoyez d'ajouter différents types d'entrées, telles que des utilisateurs, des groupes, des ordinateurs, des imprimantes et plus encore à l'annuaire LDAP, il est plus facile de placer chaque type d'entrée dans son propre conteneur.

Pour créer ces unités d'organisation, vous pouvez créer un fichier LDIF initial comme indiqué dans l'exemple ci-dessous. Dans cet exemple, ce fichier vous permet de créer le conteneur de base qui est dc=thegeekstuff,dc=com et il crée deux unités organisationnelles avec les noms d'utilisateurs et de groupes dans ce conteneur.

# cat base.ldif
dn: dc=thegeekstuff,dc=com
objectClass: dcObject
objectClass: organization
o: thegeekstuff.com
dc: thegeekstuff
dn: ou=users,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users
dn: ou=groups,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups

Importer la structure de base à l'aide de ldapadd

Nous pouvons maintenant importer la structure de base dans l'annuaire LDAP à l'aide de la commande ldapadd comme indiqué ci-dessous.

# ldapadd -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -f base.ldif
Enter LDAP Password:
adding new entry "dc=thegeekstuff,dc=com"
adding new entry "ou=users,dc=thegeekstuff,dc=com"
adding new entry "ou=groups,dc=thegeekstuff,dc=com"

Vérifiez la structure de base à l'aide de ldapsearch

Pour vérifier que les unités d'organisation sont créées avec succès, utilisez la commande ldapsearch suivante.

# ldapsearch -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -b "dc=thegeekstuff,dc=com" "(objectclass=*)"
Enter LDAP Password:

La sortie de la commande ci-dessus affichera tous les objets dans la structure du répertoire LDAP.

# extended LDIF
#
# LDAPv3
# base <dc=thegeekstuff,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# thegeekstuff.com
dn: dc=thegeekstuff,dc=com
objectClass: dcObject
objectClass: organization
o: thegeekstuff.com
dc: thegeekstuff
# users, thegeekstuff.com
dn: ou=users,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users
# groups, thegeekstuff.com
dn: ou=groups,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups
# search result
search: 2
result: 0 Success
# numResponses: 4
# numEntries: 3

Dans le prochain article OpenLDAP, nous expliquerons comment ajouter de nouveaux utilisateurs et groupes à l'annuaire LDAP.


Linux
  1. CentOS / RHEL 7 :Comment installer et configurer telnet

  2. Comment installer et configurer Samba dans CentOS / RHEL

  3. CentOS / RHEL 4 :Comment installer et configurer le serveur FTP (vsftpd)

  4. CentOS / RHEL 5 :Comment installer et configurer le serveur vsftpd

  5. Comment installer et configurer telnet dans RHEL / CentOS 5,6

Comment installer et configurer HAProxy sur CentOS 8 / RHEL 8

Comment installer et configurer Checkmk sur CentOS 8 / RHEL 8

Comment installer et configurer Nagios Core sur CentOS 8 / RHEL 8

Comment installer et configurer Denyhost dans Centos 7 Linux

Comment installer et configurer Jenkins sur CentOS 8 / RHEL 8

Comment installer et configurer GlusterFS sur CentOS 7/CentOS 8