LDAP Linux Installer une machine virtuelle debian sous VirtualBox. Utilisateur : root --- password : password I- Configuration du système Mettre à jour le serveur (avec la commande apt-get update), après avoir mis à jour le fichier /etc/apt/sources.list Installer le paquet openssh-server II- Installation des paquets serveur LDAP Utiliser apt-get install pour installer les paquets slapd, ainsi que toute dépendance : apt-get install slapd db4.8-util
Si l installation de slapd demande un mot de passe, entrez secret. L installation devrait vous poser d autres questions. Si cela n est pas le cas, vous devez forcer la reconfiguration des paquets avec dpkg-reconfigure slapd. Les réponses à fournir sont les suivantes : Omit LDAP server reconfiguration : non Domaine DNS : turgot.fr Organization : turgot.fr
mot de passe de l admin : secret type de base de données : HDB Do you want the database to be removed when slapd is purged? Non Move old database : Non Allow LDAPv2 protocol? Non A la fin de cette configuration, le serveur LDAP (slapd) doit être démarré.
Vérifier si un processus slapd tourne et cherchez les éventuels messages d erreur dans le ficher log /var/log/syslog. Toute la configuration de OpenLDAP se trouve désormais dans le répertoire /etc/ldap/slapd.d/cn=config sous forme de fichiers LDIF! olcdatabase={1}hdb Ces fichiers contiennent les configurations du serveur LDAP (slapd). Il faut notamment que des entrées cn=admin,dc=turgot,dc=fr ou dc=turgot,dc=fr soient activées. Pour finaliser l installation, éditez le fichier /etc/ldap/ldap.conf. Ceci est le fichier de référence pour le client LDAP qui sera installé plus tard. Ce fichier doit contenir les deux lignes suivantes : BASE dc=turgot,dc=fr URI ldap://ldap.turgot.fr ldap://ldap-master.turgot.fr:666 --- (ou ldap ://127.0.0.1/ ) Nous pouvons tester si le serveur répond à des requêtes LDAP grâce à la commande : ldapsearch h localhost -x. Le résultat de la requête doit inclure l administrateur LDAP. III- Création des objets préliminaires Pour pouvoir enregistrer les utilisateurs, il faut créer les objets (de type organizationalunit) People et Group. Créer le fichier init.ldif comme suit :
Ajouter les informations du fichier init.ldif avec la commande ldapadd : Vous pouvez vérifier l inscription de ces entrées sur la base LDAP avec la commande ldapsearch -x
IV- Migration des informations vers LDAP Les informations de connexion de cet utilisateur seront migrées sous LDAP, puis effacées des fichiers /etc/passwd, /etc/group et /etc/shadow. On pourra alors vérifier que le système LDAP permet bien la connexion de cet utilisateur. Créer un utilisateur testldap : useradd testldap. Lui affecter un mot de passe avec la commande : passwd testldap. Aller dans le répertoire /etc/migrationtools, et éditer le fichier migrate common.ph pour donner les bonnes valeurs aux variables DEFAULT MAIL DOMAIN et DEFAULT BASE. Créer une version filtrée des fichiers passwd et group en ne retenant que les informations de testldap, et les mettre dans des fichiers passwd et group. ATTENTION : avant d exécuter ces commandes, placez-vous dans le répertoire /etc/migrationtools grep testldap /etc/passwd > passwd grep testldap /etc/group > group Lancer les scripts migrate_group.pl et migrate_passwd.pl en prenant bien soin d utiliser les versions raccourcies des fichiers passwd et group : /usr/share/migrationtools/migrate_group.pl group group.ldif /usr/share/migrationtools/migrate_passwd.pl passwd passwd.ldif Examiner les fichiers LDIF créés. Ajouter les informations des fichiers group.ldif et passwd.ldif avec la commande ldapadd : ldapadd -h localhost -x -W -D "cn=admin,dc=turgot,dc=fr" -f group.ldif ldapadd -h localhost -x -W -D "cn=admin,dc=turgot,dc=fr" -f passwd.ldif Verifier le contenu de l annuaire :
Finalement, supprimer l utilisateur testldap avec la commande : userdel testldap V- Configuration de la machine en client LDAP La dernière opération consiste à configurer la machine en client LDAP, de telle sorte qu il puisse utiliser ce service pour permettre la connexion des utilisateurs. apt-get install libnss-ldap libpam-ldap nscd Répondre aux questions suivantes : URI : ldap ://127.0.0.1/ Distinguished name : dc=turgot,dc=fr
Ldap version : 3 LDAP account for root : cn=admin,dc=turgot,dc=fr root password : secret Make root local admin : yes LDAP database requires login : no LDAP account for root : cn=admin,dc=turgot,dc=fr (oui, encore, car chaque paquet installé a ses questions) root password : secret
Modifier le fichier /etc/nsswitch.conf rajouter le support à l authentification ldap Copier le fichier /usr/share/doc/libpam ldap/examples/pam.d/ssh à l emplacement /etc/pam.d/sshd Arrêter le service nscd : Redémarrer le service ldap /etc/init.d/slapd restart Vérifier si testldap est toujours visible avec la commande : getent passwd
Si testldap est visible, vous pouvez vous connecter en SSH sur votre machine, depuis un poste Windows (avec Putty par exemple), malgré le fait que testldap n apparaît pas sur /etc/passwd. VI- Gestion des utilisateurs et groupes Le paquet ldap-utils est livré avec plusieurs utilitaires pour gérer l annuaire LDAP, mais la longue chaîne d'options nécessaire peut les rendre difficiles à utiliser. Le paquet ldapscripts contient des scripts configurables pour gérer facilement les utilisateurs et groupes LDAP. Pour installer le paquet, à partir d'un terminal taper : apt-get install ldapscripts Ensuite, éditer et mettre à jour le fichier de configuration /etc/ldapscripts/ldapscripts.conf Maintenant, créer le fichier ldapscripts.passwd pour permettre un accès authentifié à l'annuaire :
chmod 400 /etc/ldapscripts/ldapscripts.passwd Le paquet ldapscripts est maintenant prêt à vous aider à gérer votre annuaire. On peut désormais : - Créer un nouveau groupe : ldapaddgroup nom_groupe - Créer un nouvel utilisateur : ldapadduser nom_utilisateur nom_groupe
Test Observation du résultat attendu La vision de l administrateur du service ldap peut s observer au travers de cette copie d écran d un client graphique :
L explorateur de gauche montre le développement des branches L éditeur de droite montre les attributs principaux d un objet sélectionné (certains attributs système n apparaissent pas ici). Cette interface vous montre le résultat que vous devez obtenir en fin de séquence.