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
slapd [Le 19/12/2017, 13:30] – Petit nettoyage L'Africainslapd [Le 11/09/2022, 10:37] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art
Ligne 4: Ligne 4:
 ====== Un serveur d'annuaire avec OpenLDAP ====== ====== Un serveur d'annuaire avec OpenLDAP ======
  
-Ce document est la traduction du HowTo présenté à l'adresse https://wiki.ubuntu.com/OpenLDAPServer. +Ce document est la traduction du HowTo présenté à l'adresse https://wiki.ubuntu.com/OpenLDAPServer.
  
 LDAP signifie Lightweight Directory Access Protocol, c'est une version simplifiée du protocole X500. Vous pourrez trouver une présentation détaillée sur [[wpfr>LDAP|Wikipédia]]. LDAP signifie Lightweight Directory Access Protocol, c'est une version simplifiée du protocole X500. Vous pourrez trouver une présentation détaillée sur [[wpfr>LDAP|Wikipédia]].
  
-Pour expliquer rapidement, toutes les informations sont stockées dans un arbre. Vous devez déterminer l'arborescence des annuaires ou, autrement dit, des informations de l'arbre (Directory Information Tree). +Pour expliquer rapidement, toutes les informations sont stockées dans un arbre. Vous devez déterminer l'arborescence des annuaires ou, autrement dit, des informations de l'arbre (Directory Information Tree).
 Nous allons commencer ici avec un exemple simple contenant seulement 2 nœuds en plus de la racine : Nous allons commencer ici avec un exemple simple contenant seulement 2 nœuds en plus de la racine :
   * Le nœud "People" , où seront stockés vos utilisateurs,   * Le nœud "People" , où seront stockés vos utilisateurs,
Ligne 127: Ligne 127:
 homePhone: +33 (0)5 xx xx xx xx homePhone: +33 (0)5 xx xx xx xx
 title: System Administrator title: System Administrator
-postalAddress: +postalAddress:
 initials: LP initials: LP
  
Ligne 140: Ligne 140:
  
 Maintenant ajoutez vos entrées à LDAP : Maintenant ajoutez vos entrées à LDAP :
-  * Arrêtez le daemon : +  * Arrêtez le daemon :
 <code> <code>
 sudo /etc/init.d/slapd stop sudo /etc/init.d/slapd stop
Ligne 154: Ligne 154:
 sudo slapadd -l ~/init.ldif sudo slapadd -l ~/init.ldif
 </code> </code>
-<note tip>Si vous rencontrez le message type : +<note tip>Si vous rencontrez le message type :
 <code> <code>
 Entry (cn=example,ou=groups,dc=example,dc=com), attribute 'displayName' not allowed Entry (cn=example,ou=groups,dc=example,dc=com), attribute 'displayName' not allowed
 slapadd: dn="cn=example,ou=groups,dc=example,dc=com" (line=46): (65) attribute 'displayName' not allowed slapadd: dn="cn=example,ou=groups,dc=example,dc=com" (line=46): (65) attribute 'displayName' not allowed
 </code> </code>
-Il faut commenter la ligne 46 comme ceci : +Il faut commenter la ligne 46 comme ceci :
 <code> <code>
 #displayName: Example group #displayName: Example group
Ligne 191: Ligne 191:
 Une rapide explication : Une rapide explication :
   * -x désactive l'authentification SASL   * -x désactive l'authentification SASL
-  * -LLL empêche l'affichage des informations LDIF +  * -LLL empêche l'affichage des informations LDIF
   * -b indique la branche utilisée   * -b indique la branche utilisée
  
 NE PAS OUBLIER d'ajouter le user qui doit administrer le service ldap au group openldap à créer lors de l'installation du paquet ou bien de donner les bons droits sur les fichiers /etc/ldap/ldap.conf et /var/lib/ldap/* NE PAS OUBLIER d'ajouter le user qui doit administrer le service ldap au group openldap à créer lors de l'installation du paquet ou bien de donner les bons droits sur les fichiers /etc/ldap/ldap.conf et /var/lib/ldap/*
 +
 +==== Convertir un csv en ldif ====
 +Ci dessous un script bash convertissant un csv en ldif. Il faut évidemment le personnaliser selon vos besoins.
 +Il lui manque de: supprimer les doublons, les valeurs nulles, les têtes de colonne ainsi que les espaces et caractères spéciaux dans l'uid.
 +
 +<code>
 +#!/bin/bash
 +
 +# Le script et le fichier source doivent être dans le home.
 +# Le script ne supprime ni les doublons, ni les valeurs nulles, ni les têtes de colonne.
 +# Il faudrait aussi supprimer les espaces et les caractères spéciaux dans les uid=$nom$prenom
 +
 +source=source.csv                      # Le fichier source
 +cible=cible.ldif                       # Le fichier cible
 +
 +> $cible                               # Nettoyage du fichier cible.
 +
 +while read line                        # On lit le fichier, et pour chaque ligne...
 +do 
 +nom=$(echo $line | cut -d ";" -f2)     # On entre dans la variable $nom la deuxième colonne (-f2).
 +prenom=$(echo $line | cut -d ";" -f3)  # Remarquez le séparateur qui est le ";". On pourrait changer.
 +rue=$(echo $line | cut -d ";" -f4)
 +cp=$(echo $line | cut -d ";" -f5)
 +ville=$(echo $line | cut -d ";" -f6)
 +tel=$(echo $line | cut -d ";" -f7)
 +mobile=$(echo $line | cut -d ";" -f8)
 +courriel=$(echo $line | cut -d ";" -f9)
 +                                       # A partir de la ligne suivante exportation par un echo.
 +                                       # C'est ici que vous pouvez modifier le contenu du ldif.
 +                                       # Il faudrait y ajouter une condition pour ne pas afficher les champs vides.
 +echo "dn: uid=$nom$prenom,ou=fideles,dc=example,dc=com
 +objectClass: inetOrgPerson
 +objectClass: organizationalPerson
 +objectClass: posixAccount
 +objectClass: shadowAccount
 +objectClass: person
 +objectClass: top
 +cn: $nom $prenom
 +gidNumber: 100
 +givenName: $prenom
 +homeDirectory: hd
 +homePhone: $tel
 +mobile: $mobile
 +mail: $courriel
 +street: $rue
 +postalCode: $cp $ville
 +sn: $nom
 +uid: $nom$prenom
 +uidNumber: 100
 +
 +" >> $cible                        # Écriture dans le fichier cible.
 +done < $source                     # Lecture de la source.
 +
 +</code>
  
 ===== Utiliser votre serveur LDAP ===== ===== Utiliser votre serveur LDAP =====
Ligne 223: Ligne 277:
 == Problème : Memory Limit low == == Problème : Memory Limit low ==
  
-Si lorsque vous allez sur l'interface web de phpldapadmin, vous avez cette erreur : +Si lorsque vous allez sur l'interface web de phpldapadmin, vous avez cette erreur :
  
 Memory Limit low. Memory Limit low.
Ligne 266: Ligne 320:
 Avec OpenLDAP 2.2 (sur Breezy et Dapper), la réplication est basée sur une communication maître-esclave. Avec OpenLDAP 2.2 (sur Breezy et Dapper), la réplication est basée sur une communication maître-esclave.
  
-__**ATTENTION **__ +__**ATTENTION **__
  
 Vous devez vous rappeler que les modifications devraient toujours être faites sur le maître ! Si vous modifiez un esclave, les modifications seront perdues dès la synchronisation suivante :/ Vous devez vous rappeler que les modifications devraient toujours être faites sur le maître ! Si vous modifiez un esclave, les modifications seront perdues dès la synchronisation suivante :/
Ligne 277: Ligne 331:
  
 <note important>Note d'un internaute : Comment faire pour les versions ou le fichier slapd.conf n'existe plus, comme c'est dit plus haut??</note> <note important>Note d'un internaute : Comment faire pour les versions ou le fichier slapd.conf n'existe plus, comme c'est dit plus haut??</note>
 +
 +<note important>En réponse a l'internaute: Avec les commandes suivantes on peut recréer le fichier de conf</note>
 +<code>
 +zcat /usr/share/doc/slapd/examples/slapd.conf.gz > /etc/ldap/slapd.conf
 +sed -i "s/SLAPD_CONF=/SLAPD_CONF=\/etc\/ldap\/slapd.conf/g" /etc/default/slapd
 +sed -i "s/dbconfig/#dbconfig/g" /etc/ldap/slapd.conf
 +systemctl daemon-reload
 +systemctl restart slapd.service
 +</code>
  
 <code> <code>
Ligne 305: Ligne 368:
   * [[https://wiki.ubuntu.com/OpenLDAPServer|La version Anglaise]]   * [[https://wiki.ubuntu.com/OpenLDAPServer|La version Anglaise]]
   * [[https://help.ubuntu.com/8.10/serverguide/C/openldap-server.html|La version Anglaise mis a jour pour 8.10]]   * [[https://help.ubuntu.com/8.10/serverguide/C/openldap-server.html|La version Anglaise mis a jour pour 8.10]]
-  * [[http://www.openldap.org/|OpenLDAP.org]]+  * [[https://www.openldap.org/|OpenLDAP.org]]
   * [[http://www.tldp.org/HOWTO/html_single/LDAP-HOWTO/|LDAP HOWTO]]   * [[http://www.tldp.org/HOWTO/html_single/LDAP-HOWTO/|LDAP HOWTO]]
   * [[http://luma.sourceforge.net/|Un GUI pour LDAP]] (Disponible dans les dépots)   * [[http://luma.sourceforge.net/|Un GUI pour LDAP]] (Disponible dans les dépots)