Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 186400a850 | |||
| 09b645eb50 | |||
| 3fbbd9c0bc |
86
Readme.md
86
Readme.md
@@ -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:
|
fichier root.ldif
|
||||||
* # port:
|
|
||||||
* dn de connexion:
|
|
||||||
* mot de passe:
|
|
||||||
* racine:
|
|
||||||
|
|
||||||
## 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
|
```bash
|
||||||
|
sudo dnf install podman
|
||||||
Faire une recherche anonyme sur l'ensemble de l'arbre
|
sudo systemctl enable --now podman
|
||||||
|
sudo podman run -p 389:389 --name openldap-server --uts=private --hostname=localhost \
|
||||||
### Base de recherche
|
--env LDAP_ORGANISATION="example" --env LDAP_DOMAIN="example.fr" \
|
||||||
|
--env LDAP_ADMIN_PASSWORD="admin" --env LDAP_TLS=false \
|
||||||
Faire une recherche à partir de la branche ou=users,dc=example,dc=fr.
|
--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
|
||||||
### É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"
|
|
||||||
|
|||||||
36
data.ldif
Normal file
36
data.ldif
Normal 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
|
||||||
|
|
||||||
23
root.ldif
23
root.ldif
@@ -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
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user