fa7b24e96b8a765790fb676ec4bccf59b365fd1f
Services/LDAP.md
... | ... | @@ -100,23 +100,23 @@ Classes définies : |
100 | 100 | |
101 | 101 | # Utilisation |
102 | 102 | |
103 | -### Interfaces admins |
|
103 | +### Interfaces admin |
|
104 | 104 | |
105 | -Pour les lectures courantes (de la part d'administrateurs), il est conseillé d'utiliser [l'interface admin](https://admin.resel.fr). Vous ne risquez pas de faire trop de betises avec. |
|
105 | +Pour les lectures courantes (de la part d'administrateurs), il est conseillé d'utiliser [l'interface admin](https://admin.resel.fr). Vous ne risquez pas de faire trop de bétises avec. |
|
106 | 106 | |
107 | -Dans certains cas, il est nécessaire de faire des requêtes personnalisés. Dans ce cas il est conseillé d'utiliser [phpLdapAdmin](https://admin.resel.fr/phpldapadmin/). |
|
107 | +Dans certains cas, il est nécessaire de faire des requêtes personnalisées. Dans ce cas il est conseillé d'utiliser [phpLdapAdmin](https://admin.resel.fr/phpldapadmin/). |
|
108 | 108 | |
109 | 109 | ### Manuellement |
110 | 110 | |
111 | 111 | #### Lire dans le LDAP |
112 | 112 | |
113 | -**ldapvi** est un éditeur en ligne de commande qui ouvre l'ensemble du LDAP dans votre éditeur de texte préféré, défini dans la variable `$EDITOR`. Pour l'utiliser, voilà deux solutions : |
|
113 | +**ldapvi** est un éditeur en ligne de commande qui ouvre l'ensemble du LDAP dans votre éditeur de texte préféré, défini par la variable `$EDITOR`. Pour l'utiliser, voilà deux solutions : |
|
114 | 114 | |
115 | 115 | * Se connecter sur [Beaune](/Serveurs/Beaune) et lancer `ldapvi` dessus : |
116 | 116 | ``` |
117 | 117 | ldapvi --discover |
118 | 118 | ``` |
119 | -Si vous avez les droits nécessaire, vous pouvez faire les modifications que vous voulez. |
|
119 | +Si vous avez les droits nécessaires, vous pouvez faire les modifications que vous voulez. |
|
120 | 120 | * En local, éditer `~/.ldaprc` |
121 | 121 | ``` |
122 | 122 | HOST ldap.adm.resel.fr |
... | ... | @@ -145,16 +145,16 @@ ldapsearch -LLL -x -H ldap://lussac.adm.maisel.rennes.enst-bretagne.fr -b "dc=re |
145 | 145 | ``` |
146 | 146 | #### Répliquer une branche du LDAP |
147 | 147 | |
148 | -Il arrive que l'on ait besoin de répliquer une ou plusieurs branches du LDAP, lors d'une update par exemple, ou une désynchronysation entre un LDAP de Brest et de Rennes. |
|
149 | -Pour ce faire, on commence par récupérer la branche au format *LDIF*, soit en utilisant la commande précédente ou l'ensemble de la branche, soit en utilisant **slapcat**: |
|
148 | +Il arrive que l'on ait besoin de répliquer une ou plusieurs branches du LDAP, lors d'une mise à jour, ou dans le cas d'une désynchronisation entre les LDAP de Brest et de Rennes par exemple. |
|
149 | +Pour ce faire, on commence par récupérer la branche au format *LDIF*, soit en utilisant la commande précédente, soit en utilisant **slapcat**: |
|
150 | 150 | ``` |
151 | 151 | slapcat -n dbnum > mon_fichier.ldif |
152 | 152 | |
153 | - -n spécifie le numéro de la base de données. À l'heure où ces lignes sont écrites, la branche maisel est sur la base de données N°1, et la branche ResEl sur la N°2 |
|
153 | + -n spécifie le numéro de la base de données. À l'heure où ces lignes sont écrites, la branche Maisel est sur la base de données N°1, et la branche ResEl sur la N°2 |
|
154 | 154 | ``` |
155 | 155 | **À vérifier** il peut être bon de supprimer la branche concernée avant de l'importer dans **/var/lib/ldap** |
156 | 156 | |
157 | -Pour ajouter la sauvegarde *après avoir coupé le service sldap*, on utilise **slapadd** **en utilisant screen ou tmux** , cette action étant très longue, une coupure de connexion peut lui être fatale.: |
|
157 | +Pour ajouter la sauvegarde *après avoir coupé le service sldap*, on utilise **slapadd** **en utilisant screen ou tmux**. Cette action étant très longue, une coupure de connexion peut lui être fatale. |
|
158 | 158 | ``` |
159 | 159 | slapadd -l mon_fichier.ldif -c |
160 | 160 | |
... | ... | @@ -163,21 +163,21 @@ slapadd -l mon_fichier.ldif -c |
163 | 163 | -q effectue moins de vérifications (plus rapide mais risque de corruption) |
164 | 164 | ``` |
165 | 165 | |
166 | -**Attention** si *slapadd* est exécuté en root, il fait donner les droits au LDAP sinon slapd ne démarre pas: |
|
166 | +**Attention** si *slapadd* est exécuté en root, il faut donner les droits au LDAP sinon slapd ne démarre pas: |
|
167 | 167 | ``` |
168 | 168 | chown -R openldap:openldap /var/lib/ldap |
169 | 169 | ``` |
170 | 170 | |
171 | 171 | ### Scripting |
172 | 172 | |
173 | -Si vous avez besoin d'accéder au ldap dans des scripts, ou depuis quelconque code d'un projet ResEl il existe quelques ressources sur internet : |
|
173 | +Si vous avez besoin d'accéder au ldap dans des scripts, ou depuis un quelconque code d'un projet ResEl, il existe quelques ressources sur internet : |
|
174 | 174 | * https://www.python-ldap.org/ |
175 | 175 | * https://github.com/pyldap/pyldap |
176 | 176 | |
177 | 177 | ### Les filtres LDAP |
178 | 178 | |
179 | 179 | Pour faire des recherches, on peut utiliser des filtres. |
180 | -La syntaxe pour faire ces filtres suit la notation polonaise inversée : |
|
180 | +La syntaxe pour faire ces filtres suit la notation polonaise : |
|
181 | 181 | ``` |
182 | 182 | (OPERATEUR_BOOLÉEN(attribut OPERATEUR_BINAIRE valeur)(attribut OPERATEUR_BINAIRE valeur)...) |
183 | 183 | ``` |
... | ... | @@ -224,7 +224,7 @@ Idem que le premier exemple en excluant la branche `ou=club-old,dc=maisel,dc=ens |
224 | 224 | |
225 | 225 | ### Les URL et URI LDAP |
226 | 226 | |
227 | -Afin d'accéder rapidement à une ressource, nous pouvons utiliser une url ldap de la forme suivante : |
|
227 | +Afin d'accéder rapidement à une ressource, nous pouvons utiliser une URL LDAP de la forme suivante : |
|
228 | 228 | ``` |
229 | 229 | ldap[s]://<hostname>:<port>/<base_dn>?<attributes>?<scope>?<filter>?<extensions> |
230 | 230 | ``` |
... | ... | @@ -235,12 +235,10 @@ avec les paramètres suivants: |
235 | 235 | * `base_dn` : DN de l'entrée qui est le point de départ de la recherche. |
236 | 236 | * `attributes` : Les attributs que l'on veut récupérer, séparés par des virgules. |
237 | 237 | |
238 | -Si la valeur n'est pas remplie, ou si elle est rempli avec une `*`, tous les attributs d'usage `userApplication` doivent être retournés. |
|
238 | +Si la valeur n'est pas remplie, ou si elle est remplie avec un `*`, tous les attributs d'usage `userApplication` doivent être retournés. |
|
239 | 239 | * `scope` : La profondeur de la recherche dans l'arbre : base, one ou sub. |
240 | 240 | * `filter` : Le filtre de recherche, tel que nous venons de le définir. Le filtre par défaut est (objectClass=*). |
241 | - * `extensions` : Les extensions sont un moyen pour pouvoir ajouter des fonctionnalités aux URLs |
|
242 | - |
|
243 | -LDAP tout en gardant la même syntaxe. On peut mettre inclure plusieurs extensions dans une URL, en les séparant par des `,`. |
|
241 | + * `extensions` : Les extensions sont un moyen pour pouvoir ajouter des fonctionnalités aux URL LDAP tout en gardant la même syntaxe. On peut inclure plusieurs extensions dans une URL, en les séparant par des `,`. |
|
244 | 242 | |
245 | 243 | Les extensions ont le format suivant : `type=value`. La partie `=value` est optionnelle. Elle peuvent être préfixée par un ! pour signaler une extension critique. Une extension critique signifie que le client et le serveur doivent supporter tous les deux l'extension, sinon une erreur sera levée. |
246 | 244 | |
... | ... | @@ -267,7 +265,7 @@ macAddress: 00:1c:57:4b:42:41 |
267 | 265 | ObjectClass: reselSwitch |
268 | 266 | ``` |
269 | 267 | |
270 | -Importer dans le LDAP en remplacant l'ou=C1 par l'emplacement du switch, le cn et host par le nom du switch. Il faut aussi incrémenter unite: |
|
268 | +Importer dans le LDAP en remplacant l'ou=C1 par l'emplacement du switch, le cn et host par le nom du switch. Il faut aussi incrémenter unite : |
|
271 | 269 | ``` |
272 | 270 | dn: cn=pessac,ou=C1,ou=reseau,dc=resel,dc=enst-bretagne,dc=fr |
273 | 271 | objectClass: reselSwitch |
... | ... | @@ -279,7 +277,7 @@ unite: 1 |
279 | 277 | |
280 | 278 | # Configuration |
281 | 279 | |
282 | -:warning: La configuration du LDAP fait l'objet d'un versionnage sur le dépôt Git [confs/LDAP](https://git.resel.fr/confs/ldap/). N'oubliez pas de commitez vos modifications ! |
|
280 | +:warning: La configuration du LDAP fait l'objet d'un versionnage sur le dépôt Git [confs/LDAP](https://git.resel.fr/confs/ldap/). N'oubliez pas de commiter vos modifications ! |
|
283 | 281 | |
284 | 282 | La configuration du serveur *slapd* se trouve sur [Beaune](/Serveurs/Beaune) et [Lussac](/Serveurs/Lussac) dans `/etc/ldap`. |
285 | 283 | |
... | ... | @@ -296,13 +294,14 @@ Le dépôt contient la configuration du maître (Beaune), et de l'esclave (Lussa |
296 | 294 | L'utilitaire `slaptest` permet de tester la validité de la configuration du serveur. |
297 | 295 | |
298 | 296 | Le *daemon* est géré par un simple service SysVinit : ```service slapd (start|stop|restart|status)``` |
297 | + |
|
299 | 298 | **Important : Ne jamais lancer slapd en tant que root** |
300 | 299 | |
301 | 300 | ### Général |
302 | 301 | |
303 | 302 | Voici des éléments importants de la configuration du LDAP : |
304 | 303 | |
305 | -Dans `master.cf`, on commence par définir divers paramètres de fonctionnement du serveur, on inclut les fichiers de configurations annexes, notemment les schémas LDAP. |
|
304 | +Dans `master.cf`, on commence par définir divers paramètres de fonctionnement du serveur, on inclut les fichiers de configurations annexes, notamment les schémas LDAP. |
|
306 | 305 | |
307 | 306 | ```conf |
308 | 307 | include /etc/ldap/schema/resel-14628.schema |
... | ... | @@ -311,7 +310,7 @@ include /etc/ldap/access-master.ldap |
311 | 310 | |
312 | 311 | La première ligne inclut les schémas spécifiques au ResEl, la seconde inclut les règles d'accès aux éléments du LDAP en configurant les droits. Voir les parties suivantes pour plus de détails. |
313 | 312 | |
314 | -Ensuite on configurer l'emplacement des certificats TLS. |
|
313 | +Ensuite on configure l'emplacement des certificats TLS. |
|
315 | 314 | ```conf |
316 | 315 | TLSVerifyClient never |
317 | 316 | TLSCertificateKeyFile /etc/ldap/tls/ldap-key.pem.nopass |
... | ... | @@ -319,36 +318,36 @@ TLSCertificateFile /etc/ldap/tls/ldap-crt.pem |
319 | 318 | TLSCACertificateFile /etc/ldap/tls/cacert.pem |
320 | 319 | ``` |
321 | 320 | |
322 | -Divers configurations pour les pid files et log files, certains paramètres de lancement définis dans le fichier `/var/run/slapd/slapd.args`. |
|
323 | -Puis des définitions des noms des modules noyaux qui vont être lancés par sladp. |
|
321 | +Diverses configurations pour les pid files et log files, certains paramètres de lancement définis dans le fichier `/var/run/slapd/slapd.args`. |
|
322 | +Puis des définitions des noms des modules noyau qui vont être lancés par sladp. |
|
324 | 323 | |
325 | -Enfin commence la configuration elle même des bases de données. |
|
324 | +Enfin commence la configuration des bases de données. |
|
326 | 325 | |
327 | 326 | On commence par indiquer que le backend est *bdb* : `backend bdb`. |
328 | 327 | |
329 | -On déclare la branche ldap `maisel` avec : |
|
328 | +On déclare la branche LDAP `maisel` avec : |
|
330 | 329 | ```conf |
331 | 330 | database bdb |
332 | 331 | |
333 | 332 | suffix "dc=maisel,dc=enst-bretagne,dc=fr" |
334 | 333 | ``` |
335 | 334 | |
336 | -Puis la configuration de cette branche suit, on commence par définir le *DN root* et le *mot de passe root* contenus dans le fichier `include /etc/ldap/rootdn-master.ldap`. Puis le chemin de sauvegarde physique de la BDD `directory "/var/lib/ldap/maisel"` et finalement divers options d'*indexing* et d'activation de fonctionnalité comme `memberof`. |
|
335 | +Puis la configuration de cette branche suit, on commence par définir le *DN root* et le *mot de passe root* contenus dans le fichier `include /etc/ldap/rootdn-master.ldap`. Puis le chemin de sauvegarde physique de la BDD `directory "/var/lib/ldap/maisel"` et finalement diverses options d'*indexing* et d'activation de fonctionnalités comme `memberof`. |
|
337 | 336 | |
338 | -Les lignes suivantes active la synchronisation de la branche. |
|
337 | +Les lignes suivantes activent la synchronisation de la branche. |
|
339 | 338 | ```conf |
340 | 339 | overlay syncprov |
341 | 340 | syncprov-checkpoint 100 10 |
342 | 341 | syncprov-sessionlog 100 |
343 | 342 | ``` |
344 | 343 | |
345 | -Puis la configuration de la branche `resel` suit, configurée de la même manière. |
|
344 | +Puis la configuration de la branche `resel` suit. |
|
346 | 345 | |
347 | 346 | ### Schéma |
348 | 347 | |
349 | 348 | Plus de détails sur la [compréhension des schémas LDAP](https://www.ldap.com/understanding-ldap-schema). |
350 | 349 | |
351 | -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). |
|
350 | +La configuration de schémas est incluse dans tous 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). |
|
352 | 351 | |
353 | 352 | Voici la syntaxe des fichiers de schéma. |
354 | 353 | |
... | ... | @@ -366,7 +365,7 @@ attributetype ( 1.3.6.1.4.1.14628.3.0 NAME 'firstName' |
366 | 365 | ``` |
367 | 366 | |
368 | 367 | 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. |
369 | -A noter que le dernier numéro doit incrémenter à chaque fois. |
|
368 | +A noter que le dernier numéro doit être incrémenté à chaque fois. |
|
370 | 369 | |
371 | 370 | #### Création d'un ObjectClass |
372 | 371 | |
... | ... | @@ -388,9 +387,9 @@ La configuration des droits est définie dans `acces-(slave|master).conf` |
388 | 387 | - Accès au CN *Monitor* par l'utilisateur `admin` (pas les admins en général). |
389 | 388 | - Accès au CN *accesslog* par un *ldapadmin* (cn ayant le champ droit `ldapadmin`), l'admin et le *replicator*. |
390 | 389 | - Accès au CN à divers élements (et le droit associé) aux admins ayant le droit en question. (Voir l'article [gestion des droits des admins](/) |
391 | -- Accès au mot de passe par l'utilisateur lui même, par un *ladpadmin*, par le *replicator* en lecture, par tout le monde en comparaison. |
|
392 | -- Accès à la clé privé d'un admin par lui même, ansible et le replicator en lecture |
|
393 | -- Accès au branche *organisation* et au *sites* par les membres qui sont dans le *memberUid* du site, ou les *reseladmin*. |
|
390 | +- Accès au mot de passe par l'utilisateur lui même, par un *ldapadmin*, par le *replicator* en lecture, par tout le monde en comparaison. |
|
391 | +- Accès à la clé privée d'un admin par lui même, ansible et le replicator en lecture |
|
392 | +- Accès aux branches *organisation* et *sites* par les membres qui sont dans le *memberUid* du site, ou les *reseladmin*. |
|
394 | 393 | - Acces à tout par tout le monde en lecture. |
395 | 394 | |
396 | 395 | |
... | ... | @@ -401,51 +400,51 @@ Voir la [documentation officielle](http://www.openldap.org/doc/admin24/access-co |
401 | 400 | La syntaxe est la suivante : |
402 | 401 | ``` |
403 | 402 | access to <champ> |
404 | - by <regle dacces> <droit> |
|
403 | + by <règle d'accès> <droit> |
|
405 | 404 | ``` |
406 | -Globalement, on configure l'accès à un endroit précis du LDAP via le *champ*, cela peut être sous la forme d'un DN : `dn.subtree="cn=Monitor"`, ce DN va préciser le CN précise, ou tout une branche ou un groupe ; ou plus généralement avec des wildcars comme `*`. |
|
407 | -On peut un attribut avec `attrs=droit` ou plus spécifiquement l'attribut d'un objet précis avec `attrs=<attr> dn.subtree=<dn_voulu>`. |
|
405 | +Globalement, on configure l'accès à un endroit précis du LDAP via le *champ*, cela peut être sous la forme d'un DN : `dn.subtree="cn=Monitor"`, ce DN va préciser le CN précis ou tout une branche ou un groupe ; ou plus généralement avec des wildcards comme `*`. |
|
406 | +On peut préciser un attribut avec `attrs=droit` ou plus spécifiquement l'attribut d'un objet précis avec `attrs=<attr> dn.subtree=<dn_voulu>`. |
|
408 | 407 | |
409 | -Puis les règles d'accès consiste à vérifier comparer le CN de l'utilisateur qui accède (car tout les utilisateurs qui accèdent au LDAP se connectent avec un CN du LDAP). On peut donc vérifier que le cn vaut exactement quelque chose `by dn.exact="cn=admin,dc=maisel,dc=enst-bretagne,dc=fr"` ou être plus précis en vérifiant un attribut du CN : `set.exact="user/droit* & [ldapadmin]" write`. |
|
410 | -Dans cette règle d'accès, `this` pointe sur l'élément auquel on tente d'accéder, et `user` pointe sur l'utilisateur qui veut y accéder. On accède aux valeurs des attributs par le `/`. On précise une chaîne telle quelle entre `[ ]` |
|
411 | -Pour vérifier une égalité de champs, on peut utilise `set.exact="this/attr1 & user/attr2", ou `set.exact="user/attr & [foo]" |
|
408 | +Puis les règles d'accès consistent à comparer le CN de l'utilisateur qui accède (car tous les utilisateurs qui accèdent au LDAP se connectent avec un CN du LDAP). On peut donc vérifier que le CN vaut exactement quelque chose `by dn.exact="cn=admin,dc=maisel,dc=enst-bretagne,dc=fr"` ou être plus précis en vérifiant un attribut du CN : `set.exact="user/droit* & [ldapadmin]" write`. |
|
409 | +Dans cette règle d'accès, `this` pointe sur l'élément auquel on tente d'accéder, et `user` pointe sur l'utilisateur qui veut y accéder. On accède aux valeurs des attributs par le `/`. On précise une chaîne telle quelle entre `[ ]`. |
|
410 | +Pour vérifier une égalité de champs, on peut utiliser `set.exact="this/attr1 & user/attr2"`, ou `set.exact="user/attr & [foo]"` |
|
412 | 411 | |
413 | -Finalement le droit est soit `read` soit `write` ou `compare`. Le droit *compare* est par exemple utile pour vérifier si un mot de passe est le bon sans avoir à le lire. |
|
412 | +Finalement le droit est soit `read` soit `write` soit `compare`. Le droit *compare* est par exemple utile pour vérifier si un mot de passe est le bon sans avoir à le lire. |
|
414 | 413 | |
415 | 414 | ### Réplication Brest-Rennes |
416 | 415 | |
417 | -On utilise pour la réplication **SyncRepl**, la configuration dans le fichier `replication-resel.ldap` et `replication-maisel.ldap`, un fichier par branche. |
|
416 | +On utilise pour la réplication **SyncRepl**, configuré dans les fichiers `replication-resel.ldap` et `replication-maisel.ldap`, un fichier par branche. |
|
418 | 417 | |
419 | -Le LDAP de Rennes établi une connexion persistante vers l’annuaire maître et synchronise l’annuaire en temps réel. Il est possible de vérifier que la connexion est bien établie avec la commande netstat : |
|
418 | +Le LDAP de Rennes établit une connexion persistante vers l’annuaire maître et synchronise l’annuaire en temps réel. Il est possible de vérifier que la connexion est bien établie avec la commande netstat : |
|
420 | 419 | |
421 | 420 | ``` |
422 | 421 | sudo netstat -naptu | grep "ESTABLISHED.*slapd" |
423 | 422 | ``` |
424 | 423 | Le résultat de cette commande doit montrer une connexion TCP établie entre l’adresse IP de l’esclave et l’adresse IP du maître sur le port 389 ou 636 (TLS) suivant ce qui est défini dans les fichiers [replication-resel.ldap](https://git.resel.fr/confs/ldap/blob/master/replication-resel.ldap) et [replication-maisel.ldap](https://git.resel.fr/confs/ldap/blob/master/replication-maisel.ldap). |
425 | 424 | |
426 | -Documentation sur la réplication LDAP: |
|
425 | +Documentation sur la réplication LDAP : |
|
427 | 426 | * [Documentation officielle](http://www.openldap.org/doc/admin24/replication.html) |
428 | 427 | * [Article plus pratique](http://www.vogelweith.com/debian_server/050_openldap.php#x1-210005) |
429 | 428 | |
430 | 429 | ### Synchro avec le LDAP école |
431 | 430 | |
432 | -(TODO: Le nouveau site ne le gérant pas encore, ça serait pas très utile de le documenter maintenant) |
|
431 | +(TODO: Le nouveau site ne le gérant pas encore, ça ne serait pas très utile de le documenter maintenant) |
|
433 | 432 | |
434 | 433 | Sur l'ancien site admin RA2 : |
435 | 434 | |
436 | -Lorsqu'un personne enregistré auprès de l'école, souhaite un accès au resel, il est possible de récupèrer son compte depuis le ldap de l'école. |
|
437 | -Il suffit d'aller dans RA2, dans synchro ldap, https://admin.resel.fr/ldap/synchro.php , puis de remplir le champ de recherche avec un filtre de recherche ldap. |
|
435 | +Lorsqu'une personne enregistrée auprès de l'école souhaite un accès au ResEl, il est possible de récupèrer son compte depuis le LDAP de l'école. |
|
436 | +Il suffit d'aller dans RA2, dans [synchro LDAP](https://admin.resel.fr/ldap/synchro.php), puis de remplir le champ de recherche avec un filtre de recherche LDAP. |
|
438 | 437 | |
439 | 438 | #### Script |
440 | 439 | |
441 | -Il existe un script permettant d'importer une promo [code source](https://git.resel.fr/resel/scripts/blob/master/ldap/import_promo.py). |
|
440 | +Il existe un script permettant d'importer une promo : [code source](https://git.resel.fr/resel/scripts/blob/master/ldap/import_promo.py). |
|
442 | 441 | |
443 | 442 | |
444 | 443 | ### Scripts |
445 | 444 | |
446 | 445 | #### Désactivation des machines |
447 | 446 | |
448 | -Les machines du ResEl (machines utilisateurs et serveur) sont enregistrées dans le ldap avec un type `reselmachine` qui contient un champ `lastdate`. Ce champ `lastdate` permet de mettre les machines en zone inactive lorsqu'elle ne sont pas vues sur le réseau depuis un certains temps. |
|
447 | +Les machines du ResEl (machines utilisateurs et serveurs) sont enregistrées dans le LDAP avec un type `reselmachine` qui contient un champ `lastdate`. Ce champ `lastdate` permet de mettre les machines en zone inactive lorsqu'elle ne sont pas vues sur le réseau depuis un certain temps. |
|
449 | 448 | |
450 | 449 | Le script `/srv/ldap/desactivation_machines.pl` sur Beaune permet de désactiver les machines absentes du réseau depuis longtemps. |
451 | 450 | Il est lancé par un cron à une fréquence `37 13 * * 1` |