# LDAP Adhérents Le Crans dispose d'une base de données stockant les machines des adhérents disposant d'une connexion active et accessible vie le protocole LDAP. ## Connexion Le serveur LDAP est hébergé sur la machine `flirt` et est accessible sur le port 389. Pour s'y connecter, on peut faire une redirection de ports comme par exemple : ```bash ssh -L 1636:172.16.10.114:636 tealc.adm.crans.org -J zamok.adm.crans.org ``` Le plus simple est d'utiliser `shelldap`, permettant de naviguer simplement à travers la base (voir [la documentation sur le LDAP admin](ldap.md)). ## Schéma Voici la hiérarchie actuelle du LDAP (mars 2023) : ```txt dc=adh,dc=crans,dc=org | +-cn=admin | +-cn=membership | +-cn=reader | +-ou=users | +-cn=user (inetOrgPerson) | +-ou=clubs | +-o=club (organization) | +-ou=hosts | +-cn=machine (device, ipHost, ieee802Device) | +-ou=networks +-ipNetworkNumber= (ipNetwork, ipHost) ``` ## Utilisateurs Les adhérents sont ajoutés dans `ou=users` et ont les attributs suivants : * `cn`: le pseudo de l'adhérent * `givenName`: le prénom de l'adhérent * `sn`: le nom de famille de l'adhérent * `mail`: l'adresse email de l'adhérent * `postalAddress`: l'adresse postale de l'adhérent (au format 1 Rue Machin, 75000 Ville) * `telephoneNumber`: le numéro de téléphone de l'adhérent L'attribut `description` est utilisé afin de stocker des informations supplémentaires: * `birthDate`: la date de naissance de l'adhérent au format `YYYY-MM-DD` * `birthLocation`: la ville de naissance de l'adhérent * `membershipStart`: la date de la première adhésion de l'adhérent au format `YYYY-MM-DD` * `membershipEnd`: la date de fin de l'adhésion de l'adhérent au format `YYYY-MM-DD` * `re2oId`: l'identifiant d'utilisateur de l'adhérent dans l'intranet ## Clubs Les clubs sont ajoutés dans `ou=clubs` et ont les attributs suivants : * `o`: le nom du club * `description`: le pseudo de l'adhérent responsable du club ## Machines Les machines sont ajoutées dans `ou=hosts` et ont les attributs suivants : * `cn`: le nom de la machine * `ipHostNumber`: les addresses IP de la machine * `macAddress`: l'adresse MAC de la machine * `description`: l'ouverture de ports de la machine * `owner`: le dn du propriétaire de la machine (utilisateur ou club) ## Réseaux Les sous-réseaux adhérents sont ajoutés dans `ou=networks` et ont les attributs suivants : * `dn`: le nom du sous-réseau * `cn`: le pseudo de l'adhérent propriétaire du sous-réseau * `description` (optionnel) : deux NSRecord et un DSRecord du sous-réseau * `ipHostNumber`: IPv6 interface avec le sous-réseau * `ipNetMaskNumber`: masque de sous-réseau * `ipNetworkNumber`: première IPv6 du sous-réseau