This commit is contained in:
2022-11-28 08:21:07 +01:00
parent b196a4c5d1
commit 30cf5d421b
+30 -30
View File
@@ -12,23 +12,23 @@ sudo dnf install -y openldap-clients
* adresse: localhost * adresse: localhost
* port: 389 * port: 389
* dn de connexion: cn=admin,dc=example,dc=com * dn de connexion: cn=admin,dc=example,dc=fr
* mot de passe: admin * mot de passe: admin
* racine: dc=example,dc=com * racine: dc=example,dc=fr
Donc on va systèmatiquement utiliser les options suivantes: Donc on va systèmatiquement utiliser les options suivantes:
ldap{add,search,modify,...} -H ldap:/// -wadmin -xD cn=admin,dc=example,dc=com ldap{add,search,modify,...} -H ldap:/// -wadmin -xD cn=admin,dc=example,dc=fr
⚠️ALe mot de passe en clair sur la ligne de commande, ce n'est pas génial. on peut utiliser -W (la commande va nous demander le mot de passe) ou -y ~/.ldap.secret ( ~/.ldap.secret étant un fichier dans lequel on aura écrit notre mot de passe) ⚠️ALe mot de passe en clair sur la ligne de commande, ce n'est pas génial. on peut utiliser -W (la commande va nous demander le mot de passe) ou -y ~/.ldap.secret ( ~/.ldap.secret étant un fichier dans lequel on aura écrit notre mot de passe)
## Qui suis-je ## Qui suis-je
Faire un _ldapwhoami_ en tant qu'utilisateur admin, puis tom Faire un _ldapwhoami_ en tant qu'utilisateur admin, puis thomas
```bash ```bash
ldapwhoami -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=com ldapwhoami -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=fr
ldapwhoami -H ldap://localhost -WxD uid=tom,ou=users,dc=example,dc=com ldapwhoami -H ldap://localhost -WxD uid=thomas,ou=users,dc=example,dc=fr
``` ```
## Recherche ## Recherche
@@ -36,15 +36,15 @@ ldapwhoami -H ldap://localhost -WxD uid=tom,ou=users,dc=example,dc=com
Faire une recherche anonyme sur l'ensemble de l'arbre Faire une recherche anonyme sur l'ensemble de l'arbre
```bash ```bash
ldapsearch -H ldap:/// -x -b dc=example,dc=com ldapsearch -H ldap:/// -x -b dc=example,dc=fr
``` ```
### Base de recherche ### Base de recherche
Faire une recherche à partir de la branche ou=users,dc=example,dc=com. Faire une recherche à partir de la branche ou=users,dc=example,dc=fr.
```bash ```bash
ldapsearch -H ldap:/// -wadmin -xD cn=admin,dc=example,dc=com -b ou=users,dc=example,dc=com ldapsearch -H ldap:/// -wadmin -xD cn=admin,dc=example,dc=fr -b ou=users,dc=example,dc=fr
``` ```
### Étendue ### Étendue
@@ -52,7 +52,7 @@ ldapsearch -H ldap:/// -wadmin -xD cn=admin,dc=example,dc=com -b ou=users,dc=exa
Faire une recherche à partir de la branche user en n'affichant que les enfants de premier niveau Faire une recherche à partir de la branche user en n'affichant que les enfants de premier niveau
```bash ```bash
ldapsearch -H ldap:/// -wadmin -xD cn=admin,dc=example,dc=com -b ou=users,dc=example,dc=com -s one ldapsearch -H ldap:/// -wadmin -xD cn=admin,dc=example,dc=fr -b ou=users,dc=example,dc=fr -s one
``` ```
### Filtres ### Filtres
@@ -60,13 +60,13 @@ ldapsearch -H ldap:/// -wadmin -xD cn=admin,dc=example,dc=com -b ou=users,dc=exa
Trouvez les entrées ldap dont la classe d'objet est _posixAccount_ Trouvez les entrées ldap dont la classe d'objet est _posixAccount_
```bash ```bash
ldapsearch -LLLH ldap://localhost -b dc=example,dc=com -xwadmin -D cn=admin,dc=example,dc=com objectclass=posixaccount ldapsearch -LLLH ldap://localhost -b dc=example,dc=fr -xwadmin -D cn=admin,dc=example,dc=fr objectclass=posixaccount
``` ```
Trouvez les entrées ldap dont la classe d'objet est _posixAccount_ *et* dont le gidNumber est _1238_ Trouvez les entrées ldap dont la classe d'objet est _posixAccount_ *et* dont le gidNumber est _1238_
```bash ```bash
ldapsearch -LLLH ldap://localhost -b dc=example,dc=com -xwadmin -D cn=admin,dc=example,dc=com '(&(gidnumber=1238)(objectclass=posixaccount))' ldapsearch -LLLH ldap://localhost -b dc=example,dc=fr -xwadmin -D cn=admin,dc=example,dc=fr '(&(gidnumber=1238)(objectclass=posixaccount))'
``` ```
@@ -75,13 +75,13 @@ ldapsearch -LLLH ldap://localhost -b dc=example,dc=com -xwadmin -D cn=admin,dc=e
Récupérer uniquement le _mail_ de l'entrée correspondant à la recherche précédente Récupérer uniquement le _mail_ de l'entrée correspondant à la recherche précédente
```bash ```bash
ldapsearch -LLLH ldap://localhost -b dc=example,dc=com -xwadmin -D cn=admin,dc=example,dc=com '(&(gidnumber=1238)(objectclass=posixaccount))' mail ldapsearch -LLLH ldap://localhost -b dc=example,dc=fr -xwadmin -D cn=admin,dc=example,dc=fr '(&(gidnumber=1238)(objectclass=posixaccount))' mail
``` ```
Récupérer uniquement les attributs relatifs à la classe d'objet _person_ Récupérer uniquement les attributs relatifs à la classe d'objet _person_
```bash ```bash
ldapsearch -LLLH ldap://localhost -b dc=example,dc=com -xwadmin -D cn=admin,dc=example,dc=com '(&(gidnumber=1238)(objectclass=posixaccount))' @person ldapsearch -LLLH ldap://localhost -b dc=example,dc=fr -xwadmin -D cn=admin,dc=example,dc=fr '(&(gidnumber=1238)(objectclass=posixaccount))' @person
``` ```
❗ Notre utilisateur est de la classe _inetOrgPerson_ qui dérive de _Person_ ❗ Notre utilisateur est de la classe _inetOrgPerson_ qui dérive de _Person_
@@ -90,40 +90,40 @@ ldapsearch -LLLH ldap://localhost -b dc=example,dc=com -xwadmin -D cn=admin,dc=e
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: 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: Créer un groupe avec les caractéristiques suivantes:
* branche: ou=groupes,dc=example,dc=com * branche: ou=groupes,dc=example,dc=fr
* nom: utilisateurs * nom: utilisateurs
* identifiant numérique: 1239 * identifiant numérique: 1239
* membre: tom * membre: thomas
Voir fichier _group.ldif_: Voir fichier _group.ldif_:
```ldif ```ldif
# Création du groupe _utilisateurs_, gid 1239 et membre "tom" # Création du groupe _utilisateurs_, gid 1239 et membre "thomas"
dn: cn=utilisateurs,ou=groups,dc=example,dc=com dn: cn=utilisateurs,ou=groups,dc=example,dc=fr
objectclass: posixGroup objectclass: posixGroup
gidnumber: 1239 gidnumber: 1239
memberuid: tom memberuid: thomas
``` ```
```bash ```bash
ldapadd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=com -f groupe.ldif ldapadd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=fr -f groupe.ldif
``` ```
## Modification d'un mot de passe ## Modification d'un mot de passe
```bash ```bash
ldappasswd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=com uid=tom,ou=users,dc=example,dc=com # génération d'un mot de passe aléatoire ldappasswd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=fr uid=thomas,ou=users,dc=example,dc=fr # génération d'un mot de passe aléatoire
ldappasswd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=com uid=tom,ou=users,dc=example,dc=com -s 123Soleil # ⚠️ mot de passe sur ligne de commande ldappasswd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=fr uid=thomas,ou=users,dc=example,dc=fr -s 123Soleil # ⚠️ mot de passe sur ligne de commande
ldappasswd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=com uid=tom,ou=users,dc=example,dc=com -S # définition du mot de passe par dialogue ldappasswd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=fr uid=thomas,ou=users,dc=example,dc=fr -S # définition du mot de passe par dialogue
``` ```
## Modification ## Modification
Modifiez le shell de l'utilisateur tom à la valeur "/bin/fish" Modifiez le shell de l'utilisateur thomas à la valeur "/bin/fish"
Rajoutez lui l'attribut "description" Rajoutez lui l'attribut "description"
@@ -133,7 +133,7 @@ Vérifiez
Voir le fichier _modif_user.ldif_: Voir le fichier _modif_user.ldif_:
```ldif ```ldif
dn: uid=tom,ou=Users,dc=example,dc=com dn: uid=thomas,ou=Users,dc=example,dc=fr
changetype: modify changetype: modify
add: description add: description
description: this is my account description: this is my account
@@ -144,7 +144,7 @@ loginShell: /bin/fish
```bash ```bash
ldapmodify -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=com -f modif_user.ldif ldapmodify -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=fr -f modif_user.ldif
``` ```
## Déplacement / copie ## Déplacement / copie
@@ -154,10 +154,10 @@ Renommez le groupe utilisateurs en utilisateur·trice·s
Constatez le résultat. Constatez le résultat.
```bash ```bash
ldapmodrdn -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=com -r cn=utilisateurs,ou=groups,dc=example,dc=com cn=utilisateur·trice·s ldapmodrdn -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=fr -r cn=utilisateurs,ou=groups,dc=example,dc=fr cn=utilisateur·trice·s
echo 'Y249dXRpbGlzYXRldXLCt3RyaWNlwrdzLG91PUdyb3VwcyxkYz1leGFtcGxlLGRjPWNvbQ==' | base64 -d echo 'Y249dXRpbGlzYXRldXLCt3RyaWNlwrdzLG91PUdyb3VwcyxkYz1leGFtcGxlLGRjPWNvbQ==' | base64 -d
cn=utilisateur·trice·s,ou=Groups,dc=example,dc=com cn=utilisateur·trice·s,ou=Groups,dc=example,dc=fr
``` ```
## Suppression ## Suppression
@@ -165,11 +165,11 @@ cn=utilisateur·trice·s,ou=Groups,dc=example,dc=com
Recrééz le groupe "utilisateurs", Recrééz le groupe "utilisateurs",
```bash ```bash
ldapadd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=com -f groupe.ldif ldapadd -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=fr -f groupe.ldif
``` ```
Supprimez le groupe "utilisateur·trice·s" Supprimez le groupe "utilisateur·trice·s"
```bash ```bash
ldapdelete -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=com cn=utilisateur·trice·s,ou=Groups,dc=example,dc=com ldapdelete -H ldap://localhost -xwadmin -D cn=admin,dc=example,dc=fr cn=utilisateur·trice·s,ou=Groups,dc=example,dc=fr
``` ```