07/03/2018

Server LDAP

Ce tutoriel est un résumé du cours de Stéphane Pomportes à l’ESIEE d’Amiens.

source : https://help.ubuntu.com/lts/serverguide/openldap-server.html

VM Ubuntu :

Logiciel pour visualiser son LDAP : https://directory.apache.org/studio/

Installation des paquets :

sudo apt install slapd ldap-utils
sudo dpkg-reconfigure slapd

(no et grp6.grit.lab x2)

Test :

ldapsearch -x -LLL -H ldap:/// -b dc=grp6,dc=grit,dc=lab dn

response :

dn: dc=grp6,dc=grit,dc=lab
dn: cn=admin,dc=grp6,dc=grit,dc=lab

Création de la structure :

Créer le fichier content.ldif (où on veut)

dn: ou=Users,dc=grp6,dc=grit,dc=lab
objectClass: organizationalUnit
ou: Users

dn: ou=Groups,dc=grp6,dc=grit,dc=lab
objectClass: organizationalUnit
ou: Groups

dn: ou=Machines,dc=grp6,dc=grit,dc=lab
objectClass: organizationalUnit
ou: Machines

dn: cn=enseignants,ou=Groups,dc=grp6,dc=grit,dc=lab
objectClass: posixGroup
cn: enseignants
gidNumber: 5000

dn: uid=john,ou=Users,dc=grp6,dc=grit,dc=lab
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
userPassword: johnldap
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john

Ajouter les entrées :

ldapadd -x -D cn=admin,dc=grp6,dc=grit,dc=lab -W -f content.ldif

response

adding new entry "ou=Users,dc=grp6,dc=grit,dc=lab"

adding new entry "ou=Groups,dc=grp6,dc=grit,dc=lab"

adding new entry "ou=Machines,dc=grp6,dc=grit,dc=lab"

adding new entry "cn=enseignants,ou=Groups,dc=grp6,dc=grit,dc=lab"

adding new entry "uid=john,ou=Users,dc=grp6,dc=grit,dc=lab"

Gestion des groupes et des utilisateurs : ldapscript

Pour gérer les groupes et les utilisateurs nous n’allons pas utiliser des fichier ldif c’est trop chiant. Nous avons un outils de qualité pour faire ça !

sudo apt install ldapscripts 

La conf se situe dans /etc/ldapscripts

Nous avons 2 fichiers :

Conseil Pomportes : Sauvegarder le fichier ldapscripts avant de la modifier

Dans le fichier ldapscripts.conf, modifier :

...
SERVER="ldap://ldap.home"

ou d'apres Pomportes: 

SERVER="ldap://10.6.0.202"
...
SUFFIX="dc=ldap,dc=home" # Global suffix
GSUFFIX="ou=Groups"        # Groups ou (just under $SUFFIX)
USUFFIX="ou=Users"         # Users ou (just under $SUFFIX)
MSUFFIX="ou=Machines"      # Machines ou (just under $SUFFIX)
...
BINDDN="cn=admin,dc=ldap,dc=home"
...
USHELL="/bin/bash"
...

UHOMES="/export/home/%u"
CREATEHOMES="yes"
HOMESKEL="/etc/skel"
...

N’oubliez pas de créer le répertoire /export/home

Enregistrer le password :

sudo sh -c "echo -n 'secret' > /etc/ldapscripts/ldapscripts.passwd"
sudo chmod 400 /etc/ldapscripts/ldapscripts.passwd"

Utilisation

Créer un utilisateur :

> ldapadduser [username] [groupe]

> ldapsetpasswd [username]

Normalement vous trouverez le dossier personnel de l’utilisateur dans le repertoire /export/home/[username]

Client LDAP

Le principe de cette partie est de mettre en place un client ldap qui va se connecter au serveur ldap.

Installer libnss

sudo apt install libnss-ldap

WARN SUR LA PREMIERE FENETRE RETIRER LE I DE LDAPI://

ldap://[ip]

WARN ATTENTION AUX PUTAIN DE TOUCHE ALT ET CTRL

Si vous vous êtes trompé, vous pouvez recommencer avec un reconfigure

sudo dpkg-reconfigure ldap-auth-config
sudo auth-client-config -t nss -p lac_ldap

Permet de choisir les mode d’authentification

sudo pam-auth-update

verifier que ldap authentification est bien coché et laissé le reste

WARN NE PAS VIRER LE OPENSSH sinon c’est chiant

TEST :

Maintenant vous pouvez tester de vous connecter

su pomportes

ça fonctionne mais on n’a pas accès au dossier personnel de l’utilisateur.

Il faut maintenant monter le dossier personnel de l’utilisateur sur la machine.

source : https://help.ubuntu.com/lts/serverguide/network-file-system.html