3 Commits

Author SHA1 Message Date
186400a850 s/groups/groupes/g 2024-10-07 13:55:53 +02:00
09b645eb50 mise au point prepa 2024-09-24 15:45:00 +02:00
3fbbd9c0bc prepa 2022-11-21 23:45:40 +01:00
3 changed files with 52 additions and 93 deletions

View File

@@ -1,77 +1,23 @@
# Interagir avec un serveur ldap
## Prérequis:
## Installation
un serveur ldap de base
Assurez-vous que le paquet _openldap-clients_ soit installé sur votre système
fichier change_suffix_and_dit_admin.ldif
## Caractéristiques du serveur à interroger:
schemas cosine.ldif core.ldif nis.ldif et inetorgperson.ldif
* adresse:
* # port:
* dn de connexion:
* mot de passe:
* racine:
fichier root.ldif
## Qui suis-je
# Préparation
Faire un _ldapwhoami_ en tant qu'utilisateur admin, puis tom
Il est possible d'avoir un serveur ldap en cours de fonctionnement très rapidement:
## Recherche
Faire une recherche anonyme sur l'ensemble de l'arbre
### Base de recherche
Faire une recherche à partir de la branche ou=users,dc=example,dc=fr.
### Étendue
Faire une recherche à partir de la branche user en n'affichant que les enfants.
### Filtres
Trouvez les entrées ldap dont la classe d'objet est _posixAccount_
Trouvez les entrées ldap dont la classe d'objet est _posixAccount_ *et* dont le gidNumber est 1238
### Préciser les attributs qui nous intéressent
Récupérer uniquement le _mail_ de l'entrée correspondant à la recherche précédente
Récupérer uniquement les attributs relatifs à la classe d'objet _person_
## Ajout
En vous aidant de https://www.zytrax.com/books/ldap/ape/nis.html#posixgroup, Identifiez et mettez au point les attributs nécessaires à la création du groupe suivant:
Créer un groupe avec les caractéristiques suivantes:
* branche: ou=groupes,dc=example,dc=fr
* nom: utilisateurs
* identifiant numérique: 1239
* membre: tom
## Modification d'un mot de passe
Modifiez le mot de passe de l'utilisateur _tom_ à une valeur de votre choix.
Validez en faisant un ldapwhoami -H ldap://localhost -WxD uid=tom,ou=users,dc=example,dc=com
## Modification
Modifiez le shell de l'utilisateur tom à la valeur "/bin/fish"
Rajoutez lui l'attribut "description"
Vérifiez
## Déplacement / copie
Renommez le groupe utilisateurs en utilisateur·trice·s
Constatez le résultat.
## Suppression
Recrééz le groupe "utilisateurs",
Supprimez le groupe "utilisateur·trice·s"
```bash
sudo dnf install podman
sudo systemctl enable --now podman
sudo podman run -p 389:389 --name openldap-server --uts=private --hostname=localhost \
--env LDAP_ORGANISATION="example" --env LDAP_DOMAIN="example.fr" \
--env LDAP_ADMIN_PASSWORD="admin" --env LDAP_TLS=false \
--env LDAP_BASE_DN="cn=admin,dc=example,dc=fr" -d osixia/openldap:latest
ldapadd -H ldap://localhost:389 -x -f data.ldif -D cn=admin,dc=example,dc=fr -wadmin -c
```

36
data.ldif Normal file
View File

@@ -0,0 +1,36 @@
# fichier à injecter dans le serveur de démo
dn: dc=example,dc=fr
objectClass: top
objectClass: dcObject
objectClass: organization
o: example
dc: example
dn: ou=hosts,dc=example,dc=fr
objectClass: organizationalUnit
ou: hosts
dn: ou=users,dc=example,dc=fr
objectClass: organizationalUnit
ou: users
dn: ou=groupes,dc=example,dc=fr
objectClass: organizationalUnit
ou: groupes
dn: uid=thomas,ou=users,dc=example,dc=fr
objectClass: inetOrgPerson
objectClass: posixAccount
displayName: Thomas Constans
givenName: Thomas
cn: Thomas
sn: Constans
mail: thomas@opendoor.fr
userPassword:: VmVudGlsYXRldXIyMiU=
gidNumber: 1238
uidNumber: 1234
homeDirectory: /home/thomas
loginShell: /bin/bash
uid: thomas

View File

@@ -1,23 +0,0 @@
# the root and top branches of our DIT
dn: dc=example,dc=fr
objectClass: top
objectClass: domain
dc: example
description: This is
the root of our DIT
dn: ou=Hosts,dc=example,dc=fr
ou: Hosts
objectClass: top
objectClass: organizationalUnit
dn: ou=Users,dc=example,dc=fr
ou: Users
objectClass: top
objectClass: organizationalUnit
dn: ou=Groups,dc=example,dc=fr
ou: Groups
objectClass: top
objectClass: organizationalUnit