====== LDAP ======
* [[https://sthibaul.github.io/install-config/cours4.html|Cours 4: LDAP]] et [[https://sthibaul.github.io/install-config/tp4.html|TP4: installation LDAP]]
* [[https://wiki.debian.org/LDAP/OpenLDAPSetup|Debian Wiki -- OpenLDAPSetup]]
* [[https://fr.linux-terminal.com/?p=3495|Comment configurer le serveur OpenLDAP sur Ubuntu 22.04/20.04]] avec aussi phpLDAPadmin
* [[https://www.tecmint.com/install-openldap-and-phpldapadmin-ubuntu/|Setting Up OpenLDAP and phpLDAPadmin in Ubuntu]]
* FusionDirectory, LemonLDAP::NG
* [[https://connect.ed-diamond.com/Linux-Pratique/lp-115/installation-et-configuration-d-un-annuaire-openldap|Installation et configuration d’un annuaire OpenLDAP]]
* [[https://www.it-connect.fr/tuto-configurer-openldap-sur-linux-debian-red-hat/|Configurer OpenLDAP sur Linux (Red Hat 9 / Debian 13) : préparer l’annuaire LDAP]]
* [[https://blog.debugo.fr/openldap-serie/|OpenLDAP : La série de Tutos]]
* [[https://blog.debugo.fr/openldap-installation-configuration/|Tuto Openldap, partie I : Installation et configuration]]
* [[https://blog.debugo.fr/openldap-overlays/|Tuto Openldap, partie II : Les Overlays]]
* [[https://blog.debugo.fr/openldap-peuplement/|Tuto Openldap, partie III : Peuplement]]
* [[https://blog.debugo.fr/openldap-modification-donnees/|Tuto Openldap, partie IV : Modification des données]]
* [[https://blog.debugo.fr/openldap-sauvegarde-restauration/|Tuto Openldap, partie V : Sauvegarde et restauration]]
* [[https://blog.debugo.fr/openldap-replication/|Tuto Openldap, partie VI : Réplication]]
* [[https://blog.debugo.fr/openldap-keepalived/|Tuto Openldap, partie VII : Keepalived]]
# Installation :
sudo apt install slapd ldap-utils
# Chargement des schémas de base (sans doute déjà chargés) :
sudo ldapadd -H ldapi:/// -Y EXTERNAL -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -H ldapi:/// -Y EXTERNAL -f /etc/ldap/schema/nis.ldif
sudo ldapadd -H ldapi:/// -Y EXTERNAL -f /etc/ldap/schema/inetorgperson.ldif
# Affiche la configuration (id 1 sur ce système) :
sudo ldapsearch -H ldapi:/// -Y EXTERNAL -b 'olcDatabase={1}mdb,cn=config'
# Autorise seulement root à modifier la base de données et voir les mots de passe, les autres peuvent tout lire (sauf les mots de passe) :
sudo ldapmodify -H ldapi:/// -Y EXTERNAL -f basic-rights.ldif
# Add a "People" organization unit:
sudo ldapadd -H ldapi:/// -Y EXTERNAL -f basic-hierarchy.ldif
# Add a simple person:
sudo ldapadd -H ldapi:/// -Y EXTERNAL -f add-user.ldif
# Liste toutes les entrées de l'annuaire :
sudo ldapsearch -H ldapi:/// -Y EXTERNAL -b 'dc=homelab'
# Définit le mot de passe de user1 :
sudo ldappasswd -H ldapi:/// -Y EXTERNAL -S "cn=User 1,ou=People,dc=homelab"
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to attrs=userPassword by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write by anonymous auth by * none
olcAccess: {1}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write by * read
dn: ou=People,dc=homelab
objectClass: organizationalUnit
ou: Personnes
dn: cn=User 1,ou=People,dc=homelab
cn: User 1
givenName: User1
sn: Test
uid: user1
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/user1
mail: user1@mail.homelab
objectClass: top
objectClass: person
objectClass: inetOrgPerson
objectClass: posixAccount