Sous GNU/Debian :
apt-get install openldapd
Suivez les instructions et validez à chaque étape. Nous modifierons ensuite le paramettrage.
Modifiez le fichier /etc/openldap/slapd.conf comme suit :
# This is the main ldapd configuration file. # Schema and objectClass definitions include /etc/openldap/slapd.at.conf include /etc/openldap/slapd.oc.conf # Schema for supporting Netscape Roaming include /etc/openldap/netscape_roaming.at.conf include /etc/openldap/netscape_roaming.oc.conf # Schema for supporting Debian Package Directory entries # include /etc/openldap/debian.at.conf # include /etc/openldap/debian.oc.conf # Schema check allows for forcing entries to # match schemas for their objectClasses's schemacheck off # Where clients are refered to if no # match is found locally # referral ldap://ldap.four11.com # Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd.pid # Read slapd.conf(5) for possible values loglevel 0 ####################################################################### # ldbm database definitions ####################################################################### # The backend type, ldbm, is the default standard database ldbm # The base of your directory suffix "dc=exemple" # Where the database file are physically stored directory "/var/lib/openldap" # Save the time that the entry gets modified lastmod on # By default, only read access is allowed defaultaccess read # For Netscape Roaming support, each user gets a roaming # profile for which they have write access to access to dn=".*,ou=Roaming,dc=exemple" by dnattr=owner write # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below access to attribute=userPassword by dn="cn=root,ou=People,dc=exemple" write by self write by * none # The admin dn has full write access access to * by dn="cn=root,ou=People,dc=exemple" write # End of ldapd configuration file # L'utilisateur "root" pour la branche "People, exemple" a tout les droits. rootdn "cn=root,ou=People,dc=exemple" # Son mot de passe. (Il peut être en clair ou en crypté). rootpw mon_password
Je vous conseille d'utiliser les outils de migration de www.padl.com :
Outils de migration de comptes UNIX vers LDAP
Une fois l'archive décompressée :
tar xvfz MigrationTools.tgz
configurez l'outils :
cd MigrationTools-37/
éditez le fichier de configuration migrate_common.ph et remplacez
# Default base $DEFAULT_BASE = "dc=padl,dc=com";
par :
# Default base $DEFAULT_BASE = "dc=exemple";
Ensuite construisez en mode super-utilisateur (root) votre base à partir de vos comptes unix existant :
./migrate_passwd.pl /etc/passwd > /tmp/arbre_exemple.ldif
Comme vous pouvez le voir en éditant le fichier /tmp/arbre_exemple.ldif, les utilisateurs sont ont été ajoutés dans une branche People fille du noeud principale que nous avons définis à "dc=exemple" (pour l'exemple).
Il nous faut donc créer ces noeuds avant d'y ajouter nos utilisateurs. Pour ceci, ajoutons les lignes suivantes au début de notre fichier /tmp/arbre_exemple.ldif :
dn: dc=exemple objectclass: dcobject dc: maison dn: ou=People, dc=exemple objectclass: organization ou: People
Notre fichier de base est prêt. Initialisons notre annuaire.
Tapez en ligne de commande la ligne suivante :
ldapadd -h localhost -p 389 -D "cn=root,dc=exemple" -w mon_password -f /tmp/arbre_exemple.ldif
Vérifiez ensuite que votre base LDAP a bien été remplie en faisant une recherche :
ldapsearch -L -h localhost -p 389 -b "dc=exemple" "(objectclass=*)"
ou tester l'utilisation de GQ :
apt-get install gq gq &
Si vous n'êtes pas "Java-phobe", vous pourrez toujours tester un browser Java à l'adresse suivante : http://www.iit.edu/~gawojar/ldap/ (Attention, le logiciel n'est pas libre).
NB : Vous avez sans doute remarqué que le champ "userPassword" est crypé ({crypt}...). Le mot de passe peut rester en clair ou être crypté avec d'autres algorithmes d'encryptages : MD5, SHA, DES