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 :
-
IP : 10.6.0.202
-
User : couscous
-
Password : couscous
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 :
- ldapscripts.conf -> configuration de ldapscript
- ldapscripts.passws -> password de la base ldap
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