Mise en place d’un serveur LDAP


Nous verrons ici la mise en place d’un serveur LDAP sur un serveur Debian .

Nous commencons par récupérer les sources :

apt-get install slapd ldap-utils phpldapadmin migrationtools

Phpldapadmin : Est une interface d’administration web

Migration tools : Sont des outils en perl qui vous permettent de migrer vos données.

Puis nous éditons le fichier ldap.conf afin qu’il tape sur notre domaine, ce fichier se trouve dans /etc/ldap

vim ldap.conf BASE    dc=madinina,dc=lan ====> Modifier la ligne avec les bons paramètres.

Nous vérifions que le fichier slapd.conf est correct :

vim slapd.conf loglevel        256suffix          "dc=madinina,dc=lan"
 rootdn          "cn=admin,dc=madinina dc=lan"
 rootpw mot de passe hashé access to attrs=userPassword,shadowLastChange         by dn="cn=admin,dc=madinina,dc=lan" write         by anonymous auth         by self write         by * none access to *         by dn="cn=admin,dc=madinina,dc=lan" write         by * read

Suffix: Correspond à votre domaine dans mon cas madinina.lan mais de facon générale example.com
rootdn : Correspond à l’administrateur de votre annuaire
rootpw : Mot de passe de l’administrateur le mot de passe apparait en clair pour l’instant
Hash du passord afin qu’il n’apparaise plus en clair :

# slappasswd -h {SSHA}

Le mot de passe peut être crypté en SSHA , MD5,SHA,SMD5 à vous de voir à la suite de cette commande il faut copier le mot de passe hashé à la place de votre mot de passe en clair dans le fichier slapd.conf

On rajoute un schéma ldap :

include         /etc/ldap/schema/misc.schema

On relance le serveur ldap :

/etc/init.d/slapd restart

Notre serveur ldap est maintenant prêt mais il ne contient aucune donnée. C’est la qu’intervient migrationstools.

Nous éditions le fichier migrate_common.ph qui se trouve dans /etc/migrationtools

vim /etc/migrationtools/migrate_common.ph

# Default DNS domain$DEFAULT_MAIL_DOMAIN = "madinina.lan";# Default base$DEFAULT_BASE = "dc=madinina,dc=lan";

# Uncomment these to exclude system users and groups

$IGNORE_UID_BELOW = 999; ====> On ne prends pas les utilisateurs qui ont un uid est dessous de 999$IGNORE_GID_BELOW = 999; ====> Idem mais pour les groupes

# And here's the opposite for completeness$IGNORE_UID_ABOVE = 65000; ====> On ne prends pas les utilisateurs qui ont un uid au dessus de 999$IGNORE_GID_ABOVE = 65000; ====> Idem pour les groupes

Maintenant nous pouvons migrer nos bases utilisateurs et passwd. Les scripts perl se trouvent dans /usr/share/migrationtools/

./migrate_base.pl > base.ldif

./migrate_passwd.pl /etc/passwd > passwd.ldif

./migrate_group.pl /etc/group > group.ldif

Intégrons maintenant nos données au format LDIF dans la base LDAP:

ldapadd -h localhost -x -W -D "cn=admin,dc=madinina,dc=lan" -c -f base.ldifldapadd -h localhost -x -W -D "cn=admin,dc=madinina,dc=lan" -c -f passwd.ldif ldapadd -h localhost -x -W -D "cn=admin,dc=madinina,dc=lan" -c -f group.ldif

Maintenant il faut vérifier que nos données ont bien été prises en comptes

ldapsearch -x uid=mickael extended LDIF## LDAPv3# base  (default) with scope subtree# filter: uid=mickael# requesting: ALL#

# mickael, People, madinina.landn: uid=mickael,ou=People,dc=madinina,dc=lanuid: mickaelcn: mickaelobjectClass: accountobjectClass: posixAccountobjectClass: topobjectClass: shadowAccountshadowMax: 99999shadowWarning: 7loginShell: /bin/bashuidNumber: 1000gidNumber: 1000homeDirectory: /home/mickaelgecos: mickael,,,

# search resultsearch: 2result: 0 Success

# numResponses: 2# numEntries: 1

Au début nous avons installé phpldapadmin. Il sera utilse si vous ne voulez pas vous emmerder avec toutes les lignes de commande LDAP. http://serveur/phpldapadmin L’interface se présente comme ceci :


Les données entrées précédemments :

Par la suite vous pouvez intérroger votre base LDAP depuis par exemple un serveur SAMBA.
Erreur pouvant être retournée

/etc/init.d/slapd start Starting OpenLDAP: slapd - failed. The operation failed but no output was produced. For hints on what went wrong please refer to the system's logfiles (e.g. /var/log/syslog) or try running the daemon in Debug mode like via "slapd -d 16383" (warning: this will create copious output). Below, you can find the command line options used by this script to run slapd. Do not forget to specify those options if you want to look to debugging output: slapd -g openldap -u openldap -f /etc/ldap/slapd.conf

Lancer cette commande afin de détecter les erreurs

/usr/sbin/slapd -Tt

Related posts

Leave a Comment