Installation du serveur LDAP
# aptitude install slapd ldap-utils
# dpkg-reconfigure slapd
Suivre les recommandations
On crée ensuite la structure de l'annuaire pour accueillir les utilisateurs et
les groupes. Pour cela on crée le fichier /tmp/base.ldif:
dn: ou=People,dc=mondomaine,dc=tld
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=mondomaine,dc=tld
ou: Group
objectClass: top
objectClass: organizationalUnit
On l'importe ensuite dans l'annuaire:
# ldapadd -D 'cn=admin, dc=mondomaine, dc=tld' -c -x -W -f /tmp/base.ldif
Récupération des utilisateurs et groupes actuels
Pour cela on va utiliser une série de scripts permettant contenus dans le paquet
migrationtools:
# aptitude install migrationtools
Éditer le fichier /etc/migrationtools/migrate_common.pl et suivre les
recommandations de http://wiki.gcu.info/doku.php?id=linux:auth_ldap
Récupération des information d'utilisateur et de groupe du système dans un fichier LDIF permettant un import facile dans l'annuaire LDAP:
# cd /usr/share/migrationtools
# ./migrate_passwd.pl /etc/passwd | grep -v 'objectClass: account' > /tmp/passwd.ldif
# ./migrate_group.pl /etc/group /tmp/group.ldif
Les utilisateurs qui seront inclus dans l'annuaire sont enregistrés dans le
fichier /tmp/passwd.ldif et les groupes dans /tmp/group.ldif.
Ajouter pour chaque utilisateur
objectClass: account
Avant les autres objectClass, sinon erreur lors de l'import du type:
ldap_add: Object class violation (65)
additional info: no structural object class provided
On ajoute ensuite les utilisateurs et groupes dans l'annuaire:
# ldapadd -D 'cn=admin, dc=mondomaine, dc=tld' -c -x -W -f /tmp/passwd.ldif
# ldapadd -D 'cn=admin, dc=mondomaine, dc=tld' -c -x -W -f /tmp/group.ldif
Utilisateur en lecture de la base pour authentification
Éditer /etc/ldap/slapd.conf:
rootdn "cn=admin,dc=mondomaine,dc=tld"
# service slapd restart
Création des information de l'utilisateur nss dans un nouveau fichier
/tmp/nss.ldif:
dn: cn=nss,dc=mondomaine,dc=tld
objectClass: organizationalRole
objectClass: simpleSecurityObject
cn: nss
description: LDAP NSS user for user-lookups
userPassword:
Obtention du mot de passe:
slappasswd -h {CRYPT}
Ajout de l'utilisateur de lecture:
ldapadd -D 'cn=admin, dc=mondomaine, dc=tld' -c -x -W -f /tmp/nss.ldif