Services/LDAP.md
... ...
@@ -20,7 +20,7 @@ Pour gérer le LDAP, le ResEl utilise la [suite](https://www.openldap.org/softwa
20 20
Le serveur LDAP est hébergé sur la machine [Beaune](/Serveurs/Beaune) à Brest
21 21
et [Lussac](/Serveurs/Lussac) à Rennes qui fait de la réplication LDAP.
22 22
23
-Le serveur LDAP écoute sur *ldap.adm.resel.fr*, le port est *389* pour une connexion non-sécurisée ou *636* pour une connexion TLS.
23
+Le serveur LDAP écoute sur `ldap://ldap.adm.resel.fr:389` en clair ou sur `ldaps://ldap.adm.resel.fr:636` pour une connexion TLS.
24 24
Le LDAP n'est accessible que depuis le vlan admin. Le DNS a une entrée *ldap.resel.fr* pointant vers le serveur selon le campus.
25 25
26 26
En plus de cela, un service de synchronisation, *syncrepl* permet de
... ...
@@ -35,21 +35,24 @@ Petits rappels sur le LDAP.
35 35
36 36
Un LDAP gère un annuaire sous forme d'un arbre. Les entrées de l'arbre (ou les derniers éléments de la hiérarchie) sont appelés des `commonName` et sont censés représentés un utilisateurs. Tout utilisateurs qui utilise le LDAP est connecté via ce *commonName*. Les *commonName* font parties d'une *objectClass* qui les définit. Ils ont un ensemble d'`attributeType` contenant diverses infos.
37 37
Les *commonName* sont regroupés au sein de la structure hiérarchique de l'arbre LDAP. Cette hiérarchie est appelée *DIT: Directory Information Tree*. Cette hiérarchie est définies par le format *X-500*. On utilise principalement cette hiérarchie là :
38
-- *DC: Domain Component* : élément séparés du domaine du réseau. Au ResEl on a donc deux branches : `DC=maisel,DC=enst-bretagne,DC=fr` pour les entrées concernant la maisel, et `DC=maisel,DC=enst-bretagne,DC=fr` pour les entrées du ResEl.
38
+- *DC: Domain Component* : élément séparés du domaine (DNS) du réseau. Par exemple la compagnie `society.com` aura une racine `dc=compagny,dc=com`. Si la compagnie a plusieurs sous domaine, ça formera autant de branche, `foo.society.com` et `bar.society.com` donneront les branches `dc=foo,dc=society,dc=com` et `dc=bar,dc=society,dc=com`.
39 39
- *OU: organizationalUnit* : organisation qui contient des personnes, c'est un groupe. Elle peut contenir elle même des sous *OU*.
40 40
- *CN: commonName* : entrée finale
41 41
42
-On désigne une entrée LDAP avec un *DN: Distinguished Name* et doit être lue de droite à gauche.
42
+On désigne une entrée LDAP avec un *DN: Distinguished Name* et doit être lue de droite à gauche : par exemple `uid=tjacquin,ou=admins,dc=resel,dc=enst-bretagne,dc=fr`.
43
+
43 44
On peut décrire une entrée LDAP avec la [notation LDIF](https://en.wikipedia.org/wiki/LDAP_Data_Interchange_Format)
44
-```ldif
45
+```
45 46
dn: cn=The Postmaster,dc=example,dc=com
46 47
objectClass: organizationalRole
47 48
cn: The Postmaster
48 49
```
49 50
51
+Plus de détails sur les articles [ici](https://www.ldap.com/the-directory-information-tree) et [là](http://www.informit.com/articles/article.aspx?p=101405&seqNum=7).
52
+
50 53
## Structure de l'arbre
51 54
52
-Au ResEl, on a deux branches, qui viennent historiquement des noms de domaine du resel en `resel.enst-bretagne.fr` et de la maisel en `maisel.enst-bretagne.fr`.
55
+Historiquement les noms de domaine du resel en `resel.enst-bretagne.fr` et de la maisel en `maisel.enst-bretagne.fr` ont donnés naissance a donc deux branches : `dc=maisel,dc=enst-bretagne,dc=fr` et `dc=maisel,dc=enst-bretagne,dc=fr`.
53 56
La branche `dc=maisel,..` contient donc les informations relatives aux personnes physiques, aux clubs et assos, aux site de clubs et leur webmestres, c'est la branche plutôt *sociale*.
54 57
La branche `dc=resel,..` contient les informations relatives aux personnes techniques et aux machines techniques du ResEl, les administrateurs, les machines, les switchs, ...
55 58
... ...
@@ -318,6 +321,8 @@ Puis la configuration de la branche `resel` suit, configurée de la même mani
318 321
319 322
### Schéma
320 323
324
+Plus de détails sur la [compréhension des schémas LDAP](https://www.ldap.com/understanding-ldap-schema).
325
+
321 326
La configuration de schémas est incluses dans tout les fichiers `schema/*.schema`. Elle configure tout les *objectClass* et *attributeType* décrits dans la section [Mise en place](#mise-en-place_structure-de-l-arbre_description-des-objets-resel).
322 327
323 328
Voici la syntaxe des fichiers de schéma.
... ...
@@ -335,8 +340,8 @@ attributetype ( 1.3.6.1.4.1.14628.3.0 NAME 'firstName'
335 340
SINGLE-VALUE )
336 341
```
337 342
338
-Le numéro `1.3.6.1.4.1.14628.3.0` définit ??
339
-Le champ `syntaxe` ??
343
+Le numéro `1.3.6.1.4.1.14628.3.0` définit l'*OID: Object Identifier*, c'est un champ très peu lisible utile pour le LDAP.
344
+A noter que le dernier numéro doit incrémenter à chaque fois.
340 345
341 346
#### Création d'un ObjectClass
342 347
... ...
@@ -445,6 +450,5 @@ Son code source est versionné est disponible dans [ResEl/scripts](https://git.r
445 450
* [Repo de la configuration](https://git.resel.fr/confs/ldap/)
446 451
* [Note sur la synchro LDAP](www.admin-linux.fr/?p=715)
447 452
448
-# TODO (rédacteur)
449
-* Documentation de certains objets LDAP et l'utilité de chacun de leurs champs
450
-* Configuration générale, de synchro, et des droits + détail de la syntaxe
453
+* [Compréhension des schémas LDAP](https://www.ldap.com/understanding-ldap-schema)
454
+* [Cours sur LDAP](https://www.digitalocean.com/community/tutorials/understanding-the-ldap-protocol-data-hierarchy-and-entry-components).
... ...
\ No newline at end of file