Skip to content


Configurer et peupler un annuaire OpenLDAP sous Debian Squeeze

Introduction

Le passage de Debian 5 à Debian 6 n'est pas un changement simple à faire. En effet beaucoup de paquets ont fait un saut énorme en version et donc aussi dans la façon d'être configurer.

L'un de ceux-ci est OpenLDAP (slapd). Vous utilisiez le fichier /etc/ldap/slapd.conf !? Oubliez le ! 🙁 Toute la configuration de OpenLDAP se trouve désormais dans le répertoire /etc/ldap/slapd.d/cn=config sous forme de fichiers LDIF !...

 

Installation et configuration de OpenLDAP

# apt-get install slapd db4.8-util ldap-utils

Répondez au questions comme suit (chez moi) :

  • Voulez-vous omettre la configuration d'OpenLDAP ? : <Non>
  • Nom de domaine : dom-sln.local
  • Nom d'entité (« organization ») : dom-sln.local
  • Mot de passe de l'administrateur : *****************
  • Module de base de données à utiliser : HDB
  • Faut-il supprimer la base de données à la purge du paquet ? : <Non>
  • Faut-il déplacer l'ancienne base de données ? : <Oui>

Ajouter les schémas de FreeRadius et Samba

Il faut bien entendu, installer Freeradius et Samba et Samba-doc ! 🙂

# cp /usr/share/doc/freeradius/examples/openldap.schema /etc/ldap/schema/freeradius.schema
# gunzip -d /usr/share/doc/samba-doc/examples/LDAP/*.gz
# cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema /etc/ldap/schema/

 

Tout d'abord créez un fichier /etc/ldap/convert-file.conf contenant tous les schémas que vous désirez :

include          /etc/ldap/schema/core.schema
include          /etc/ldap/schema/cosine.schema
include          /etc/ldap/schema/nis.schema
include          /etc/ldap/schema/inetorgperson.schema
include          /etc/ldap/schema/samba.schema
include          /etc/ldap/schema/misc.schema
include          /etc/ldap/schema/openldap.schema
include          /etc/ldap/schema/freeradius.schema
include          /etc/ldap/schema/java.schema
include          /etc/ldap/schema/ppolicy.schema

 

Convertir les schémas

Convertir ce fichier en une série de fichiers LDIF pour OpenLDAP

mkdir /tmp/ldif_output
slapcat -f /etc/ldap/convert-file.conf -F /tmp/ldif_output -n0 -s ""
cp /tmp/ldif_output/cn\=config/cn\=schema/* /etc/ldap/slapd.d/cn\=config/cn\=schema/
chown openldap:openldap /etc/ldap/slapd.d/cn=config/cn=schema/*

 

redémarrez OpenLDAP :

/etc/init.d/slapd restart

 

Peupler...

Peupler avec des unités organisationnelles avec smbldap-populate (smbldap-tools) : il faut au par avant installer LDAP et SAMB et correctement les configurer l'un avec l'autre :

Pour aider allez voir : http://wp.me/pmQ8z-1P

Partie "Installation du serveur OpenLDAP" de http://monblog.system-linux.net/blog/?p=113

# smbldap-populate
Populating LDAP directory for domain dom-sln (S-1-5-21-1485158360-1790390287-1893935038)
(using builtin directory structure)
entry dc=dom-sln,dc=local already exist.
adding new entry: ou=Users,dc=dom-sln,dc=local
adding new entry: ou=Groups,dc=dom-sln,dc=local
adding new entry: ou=Computers,dc=dom-sln,dc=local
adding new entry: ou=Idmap,dc=dom-sln,dc=local
adding new entry: uid=root,ou=Users,dc=dom-sln,dc=local
adding new entry: uid=nobody,ou=Users,dc=dom-sln,dc=local
adding new entry: cn=Domain Admins,ou=Groups,dc=dom-sln,dc=local
adding new entry: cn=Domain Users,ou=Groups,dc=dom-sln,dc=local
adding new entry: cn=Domain Guests,ou=Groups,dc=dom-sln,dc=local
adding new entry: cn=Domain Computers,ou=Groups,dc=dom-sln,dc=local
adding new entry: cn=Administrators,ou=Groups,dc=dom-sln,dc=local
adding new entry: cn=Account Operators,ou=Groups,dc=dom-sln,dc=local
adding new entry: cn=Print Operators,ou=Groups,dc=dom-sln,dc=local
adding new entry: cn=Backup Operators,ou=Groups,dc=dom-sln,dc=local
adding new entry: cn=Replicators,ou=Groups,dc=dom-sln,dc=local
adding new entry: sambaDomainName=dom-sln,dc=dom-sln,dc=local
Please provide a password for the domain root:
Changing UNIX and samba passwords for root
New password:
Retype new password:
root@debian:/etc/ldap#

Ajoutez vos objets, ici des comptes utilisateurs

# smbldap-useradd -a -G "Domain Users" -c "lolo" -m -P lolo
Cannot confirm uidNumber 1000 is free: checking for the next one
Warning: homedirectory /home/lolo already exist. Check manually
Changing UNIX and samba passwords for lolo
New password:
Retype new password:

# smbldap-useradd -a -G "Domain Users" -c "bea" -m -P bea
Warning: homedirectory /home/bea already exist. Check manually
Changing UNIX and samba passwords for bea
New password:
Retype new password:

# smbldap-useradd -a -G "Domain Users" -c "superman" -m -P superman
Warning: homedirectory /home/superman already exist. Check manually
Changing UNIX and samba passwords for superman
New password:
Retype new password:

Voilà votre annuaire est prêt !

- Fin -

Print Friendly, PDF & Email

Posted in Debian, Important, Linux, Technique, Toutes. Tagged with , , , , .

13 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Yoshi said

    J'ai installé slapd mais je n'ai pas eut la phase de configuration de la base LDAP. Est-ce qu'il ne faudrait pas rajouter les paquets db4.8-util ldap-utils pour cette installation?

  2. admin said

    Bonjour,
    Si effectivement...

  3. Yoshi said

    une MAJ du tuto pour les prochains? :p

  4. admin said

    Bonjour,

    Oui le souci est de repartir d'une Debian nue ! 🙂
    Ou de reprendre certains pré-requis dans un tuto précédent.
    Juste un peu de temps...
    Mais à faire !

  5. admin said

    En réalité... voilà qui est fait ! 😉
    Merci pour votre remontée !

  6. Eric said

    Après avoir suivi toutes les étapes ci dessus j'ai le message d'erreur ci-dessous. Quelqu'un a t'il la solution ?

    /etc/ldap/convert-file.conf: line 1: unknown directive outside backend info and database definitions.
    slapcat: bad configuration directory!
    root@iminefop:/etc/ldap#

  7. admin said

    Quelle est cette ligne 1 ?

  8. tony said

    bonjour, ce tuto est aussi lorsque l'on a pas de ldap créé ?
    j'ai suivit le tuto a partir d'une vm, et je n'ai pas de nom de domaine.

    voila mon erreur si tu peux m'aider a comprendre merci

    # smbldap-populate
    Use of uninitialized value $smbldap_tools::config{"usersdn"} in pattern match (m//) at /usr/share/perl5/smbldap_tools.pm line 263.
    Use of uninitialized value $smbldap_tools::config{"usersdn"} in concatenation (.) or string at /usr/share/perl5/smbldap_tools.pm line 264.
    Use of uninitialized value $smbldap_tools::config{"suffix"} in concatenation (.) or string at /usr/share/perl5/smbldap_tools.pm line 264.
    Use of uninitialized value $smbldap_tools::config{"groupsdn"} in pattern match (m//) at /usr/share/perl5/smbldap_tools.pm line 267.
    Use of uninitialized value $smbldap_tools::config{"groupsdn"} in concatenation (.) or string at /usr/share/perl5/smbldap_tools.pm line 268.
    Use of uninitialized value $smbldap_tools::config{"suffix"} in concatenation (.) or string at /usr/share/perl5/smbldap_tools.pm line 268.
    Use of uninitialized value $smbldap_tools::config{"computersdn"} in pattern match (m//) at /usr/share/perl5/smbldap_tools.pm line 271.
    Use of uninitialized value $smbldap_tools::config{"computersdn"} in concatenation (.) or string at /usr/share/perl5/smbldap_tools.pm line 272.
    Use of uninitialized value $smbldap_tools::config{"suffix"} in concatenation (.) or string at /usr/share/perl5/smbldap_tools.pm line 272.
    Use of uninitialized value $smbldap_tools::config{"suffix"} in concatenation (.) or string at /usr/share/perl5/smbldap_tools.pm line 283.
    Populating LDAP directory for domain maison (S-1-5-21-2265384758-3363767668-1790721882)
    (using builtin directory structure)

    Use of uninitialized value $config{"suffix"} in pattern match (m//) at /usr/sbin/smbldap-populate line 141.
    Use of uninitialized value $config{"suffix"} in concatenation (.) or string at /usr/sbin/smbldap-populate line 149.
    can't extract first attr and value from suffix at /usr/sbin/smbldap-populate line 149.

  9. admin said

    Bonjour,
    Il faut auparavant installer LDAP et correctement le configurer :

    Partie « Installation du serveur OpenLDAP » de http://monblog.system-linux.net/blog/?p=113

  10. Flo said

    Salut !
    Ton tuto est vraiment génial, mais je rencontre une petit problème, à la fin de la page tu montre un arbre en version graphique. Je suppose que c'est phpldapadmin.

    Je n'arrive pas à voir cet arbre ! Je me log bien sur le portail web et hop il me dit Logged in as: @SUFFIX@ This base entry does not exist.Create it?
    En cliquant sur Create it rien ne se passe. Saurais tu remédier à ce problème ?

    Merci d'avance !

  11. admin said

    Bonjour,

    Non j'utilise http://directory.apache.org/studio/
    Et dis nous ce qu'il t'indique...

  12. Dksengal said

    Bonsoir, ton tuto est très claire et concis. Cependant je suis nouveau avec la configuration samba, j'ai réussi une première fois à joindre le domaine mais je n'arrive pas à ouvrir une session avec un des comptes que j'ai crée.
    S'il vous plait éclairer moi qu'est ce qui peut être la cause? Merci d'avance

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.

Time limit is exhausted. Please reload CAPTCHA.


/* */
Creative Commons License
Cette création par Laurent Besson est mise à disposition selon les termes de la licence Creative Commons Paternité-Partage des Conditions Initiales à l'Identique 2.0 France.