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