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édentes Révision précédente
Prochaine révision
Révision précédente
slapd [Le 19/12/2017, 13:30]
L'Africain Petit nettoyage
slapd [Le 11/09/2022, 10:37] (Version actuelle)
moths-art 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)
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)
  • slapd.1513686623.txt.gz
  • Dernière modification: Le 19/12/2017, 13:30
  • par L'Africain