da2401af87bb11a9faba34197c53adfde5d7bf8a
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 |