Outils pour utilisateurs

Outils du site


adminsys:ldap

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
adminsys:ldap [2016/10/31 03:02] – [Exemples] ajout mot manquant kheopsadminsys:ldap [2016/11/01 19:27] (Version actuelle) – [Le DN d'une entrée se construit avec les attributs] Quelques explications en plus kheops
Ligne 55: Ligne 55:
 ==== Le DN d'une entrée se construit avec les attributs ==== ==== Le DN d'une entrée se construit avec les attributs ====
  
-Comme une entrée n'est ni plus ni moins qu'un ensemble d'attributs, un attribut accompagné de sa valeur doit être choisi pour figurer dans le DN de ladite entrée.+Comme une entrée n'est ni plus ni moins qu'un ensemble d'attributs, un attribut accompagné de sa valeur doit être choisi pour figurer dans le DN de ladite entrée. Le DN d'une entrée est donc toujours composé d'une suite d'attribut-valeurs écrits sous la forme ''nom_attribut=valeur'', partant de la racine pour arriver à l'entrée voulue.
  
 Exemple : dans une base LDAP où l'entrée de base, ou //DN de base//, est ''%%dc=faimaison,dc=net%%'', un DN pour notre ami Luc sera : Exemple : dans une base LDAP où l'entrée de base, ou //DN de base//, est ''%%dc=faimaison,dc=net%%'', un DN pour notre ami Luc sera :
Ligne 64: Ligne 64:
 La notation ne contient pas de ''%%/%%'' comme dans un système de fichiers. La descente dans l'arborescence se fait en lisant le DN de droite à gauche, la virgule faisant office de séparateur : ''%%dc=net%%'', puis ''%%dc=faimaison%%'' puis ''%%ou=utilisateurs%%'' puis ''%%uid=luc%%''. La notation ne contient pas de ''%%/%%'' comme dans un système de fichiers. La descente dans l'arborescence se fait en lisant le DN de droite à gauche, la virgule faisant office de séparateur : ''%%dc=net%%'', puis ''%%dc=faimaison%%'' puis ''%%ou=utilisateurs%%'' puis ''%%uid=luc%%''.
  
-Ici le //DN de base// ''%%dc=faimaison,dc=net%%'' enchaine deux entrées contenant l'attribut ''%%dc%%'', ce qui représente le nom de domaine ''%%faimaison.net%%''. Un DN de base alternatif qui ferait sens pour représenter FAImaison serait :+Le //DN de base// ''%%dc=faimaison,dc=net%%'' enchaine deux entrées contenant l'attribut ''%%dc%%'', ce qui représente le nom de domaine ''%%faimaison.net%%''En théorie, le DN ''dc=faimaison,dc=net'' est composé de deux entrées, mais en pratique c'est juste la racine de notre arborescence et nous ne le décomposons jamais : c'est le suffixe invariable de toute entrée dans notre base. 
 + 
 +Un DN de base alternatif qui ferait également sens pour représenter FAImaison serait :
  
 <code> <code>
Ligne 151: Ligne 153:
 On trouve régulièrement des petites variantes autour de cette procédure : On trouve régulièrement des petites variantes autour de cette procédure :
  
-  * beaucoup de services acceptent un [[http://www.zytrax.com/books/ldap/apa/search.html|filtre]] de recherche à passer à LDAP, permettant d'exclure les objets ne respectant pas une condition donnée, par exemple : ''%%(objectClass=inetOrgPerson)%%'' ou ''%%(!(loginShell=/bin/false))%%'' ;+  * beaucoup de services acceptent un [[http://www.zytrax.com/books/ldap/apa/search.html|filtre]] de recherche à passer à LDAP, permettant d'exclure les objets ne respectant pas une condition donnée, par exemple : ''%%(objectClass=inetOrgPerson)%%'' pour ne rechercher que les entrée de type ''inetOrgPerson'' ou ''%%(!(loginShell=/bin/false))%%'' pour exclure tout objet où l'attribut ''loginShell'' vaut ''/bin/false'' ;
   * on peut vouloir empêcher les recherches dans LDAP sans s'authentifier (voir étape 2 au-dessus), auquel cas le service lui-même devra s'authentifier avec un DN donné ;   * on peut vouloir empêcher les recherches dans LDAP sans s'authentifier (voir étape 2 au-dessus), auquel cas le service lui-même devra s'authentifier avec un DN donné ;
   * certains services peuvent ne pas faire de recherche du tout, et essayer directement d'authentifier avec LDAP en construisant le DN de l'utilisateur en insérant l'identifiant saisi dans un modèle de DN LDAP ;   * certains services peuvent ne pas faire de recherche du tout, et essayer directement d'authentifier avec LDAP en construisant le DN de l'utilisateur en insérant l'identifiant saisi dans un modèle de DN LDAP ;
Ligne 159: Ligne 161:
 ===== Passons à la pratique ===== ===== Passons à la pratique =====
  
-To do !+On ne documente ici ni l'installation ni la configuration d'OpenLDAP (le principal serveur LDAP sous GNU/Linux) mais on donne plutôt quelques exemples d'utilisation d'un serveur déjà fonctionnel : consultation, ajout et suppression d'entrées. 
 + 
 +L'installation et la configuration d'OpenLDAP sont documentées sur internet dans des pages plus ou moins à jour. Une méthode facile et rapide consiste à utiliser le rôle ''openldap'' de [[https://github.com/equalitie/Caislean/|Caisleàn]], un ensemble de recettes Ansible visant à faciliter l'autohébergement. 
 + 
 +==== Outil ==== 
 + 
 +On utilise [[https://directory.apache.org/studio/|Apache Directory Studio]] (ADS), un logiciel graphique facilitant grandement les interactions avec un serveur LDAP. Ce logiciel connaît les classes standard et nous avertira si des attributs sont manquants ou en trop. Il nous épargnera aussi pas mal de fautes de frappes faciles à faire si on se paluche tout à la main avec les outils en terminal de base. Il nous laisse aussi le temps d'aller à la machine à café pendant qu'il démarre. 
 + 
 +Des alternatives sont : [[http://www.lichteblau.com/ldapvi/|ldapvi]], [[http://www.gq-project.org/|GQ]] et les outils de base trouvés dans le paquet ''ldap-utils'' de la plupart des distributions GNU/Linux. 
 + 
 +==== Se connecter au serveur LDAP ==== 
 + 
 +Demander à l'administrateur du serveur LDAP un nom d'hôte et un port auquel se connecter. Il n'est pas rare qu'un tunnel SSH doive être utilisé, cela fournissant du chiffrement et une forme d'authentification, beaucoup de serveurs LDAP n'ayant pas TLS configuré et autorisant un accès en lecture de la base de donnée sans authentification.
  
 +Votre identifiant de connexion au serveur sera un DN, qui peut correspondre à votre compte personnel (comme ''uid=luc,ou=utilisateurs,dc=faimaison,dc=net'') ou au compte administrateur du serveur (par exemple, ''cn=admin,dc=faimaison,dc=net'').
  
 +Dans ADS, utiliser l'entrée //Nouvelle connexion// dans le menu //LDAP//. Spécifiez le nom d'hôte, le port et le type de chiffrement. Si vous utilisez un tunnel SSH, l'hôte sera probablement ''localhost'', le port dépendra de votre commande SSH et ADS n'utilisera pas de chiffrement (puisqu'il est assuré par le tunnel SSH).
adminsys/ldap.1477882975.txt.gz · Dernière modification : 2016/10/31 03:02 de kheops