LDAP - Gestion des utilisateurices

Système de base

Le logiciel installé est OpenLDAP (sur galilée, bien sûr). Les fichiers de configurations sont situés dans /etc/ldap. Le super utilisateur s’appelle “admin”. Voir le mot de passe en réunion InterComCom.

Interface d’administration

Voici une technique pour utiliser un logiciel de visualisation du LDAP sur son PC :

Sur la machine locale :

  • Installer jxplorer
  • Ouvrir un tunnel du port LDAP via ssh :
  $ ssh -L 9389:localhost:389 -p 2222 root@galilee.eedf.fr
  • Se connecter au LDAP avec jxplorer :
  hote : localhost
  port : 9389
  base DN : dc=galilee,dc=eedf,dc=fr
  niveau : utilisateur + mot de passe
  utilisateur : cn=admin,dc=galilee,dc=eedf,dc=fr
  mot de passe : ******

Sinon, il y a également shelldap installé sur Galilée, qui permet de se balader dans le LDAP comme dans un shell !

Récupération du fichier adhérent

Gaël a créé un script qui importe les données qui nous intéressent de la base des adhérents. Ce script se lance toutes les nuits et créée le fichier /root/entrecles/adherents_region.xlsx.

Un script python utilise ce fichier pour remplir (mettre à jour) la base LDAP de galilée. Voir /root/entrecles/README

Utilisation

Ce système pourra être utilisé pour tous les services mis en place sur galilée, pour définir les droits de chaque utilisateur.

Pour le système

Voir la conf dans :

  • /etc/nsswitch.conf
  • /etc/pam.d/*
  • /etc/nslcd.conf

Pour le wiki

Voir la conf dans /var/www/wiki/wiki/config/wikifarm/mywiki.py

Structure

Le DN de base du LDAP est “dc=galilee,dc=eedf,dc=fr”

  dc=galilee,dc=eedf,dc=fr
    ou=guests  # utilisateurices non adhérent·e·s
    ou=midipy  # adhérent·e·s de midipy
    ou=midipy-futuraaee  # ancien·ne·s adhérent·e·s de midipy
    ou=ra  # adhérent·e·s de rhone-alpe
    ou=ra-futuraaee  # ancien·ne·s adhérent·e·s de rhone-alpe
    cn=admin   # permet la connexion d'administration du LDAP
    uid=galilee    # permet la connexion en lecture du LDAP
    ...

Créer des comptes pour des non-adhérent-e-s ou des adhérent-e-s à d’autres régions

Il faut utiliser le script /etc/ldap/bin/create_user_non_eedf.py (demander à un-e admin de Galilée)

Ajouter une nouvelle région

  • Demander à Gaël de créer le domaine nouvelleregion.eedf.fr, avec les mêmes enregistrements que les autres (A, AAAA, MX, SPF et DKIM)
  • Rajouter le domaine au certificat Let’s encrypt
  • Modifier /root/entrecles/conf.py pour rajouter les infos de connexion au portail de la nouvelle région.

  • Se connecter au LDAP avec Jxplorer ou shelldap (voir plus haut).
  • Copier une branche ou (par exemple guests), pour lui donner le nom de la nouvelle région (bien garder la même chose que le domaine en .eedf.fr).
    Avec shelldap :
    ~ > cp ou=midipy ou=nouvelleregion
  • Faire de même pour ajouter nomrégion-futuraaee pour les anciens adhérents.
    Avec shelldap :
    ~ > cp ou=midipy ou=nouvelleregion-futuraaee
  • Lancer le téléchargement de l’annuaire entrecles avec /root/entrecles/download_annuaire.sh nomrégion

  • Lancer la synchro avec /root/entrecles/synchro.py synchro nomrégion.

  • Pour les e-mails, ajouter le nom de domaine de la région dans postfix (/etc/postfix/main.cf) et DKIM (/etc/opendkim.conf)
  • Demander à Florence de rajouter le nom de domain dans la configuration de Tila.im (serveur mail secondaire)
  • Pour activer la création de compte, ajouter la région dans les fichiers suivant :
  /var/www/adherents/templates/region-liste.html
  /var/www/adherents/settings.py
  /root/entrecles/synchro.sh
  /etc/intercomcom/regions.py
  • Il faut ensuit relancer l’application adhérents :
    supervisorctl restart adherents
  • Pour que l’identité par défaut du webmail corresponde à la bonne région, il faut rajouter la région à la fin du fichier
   /var/www/roundcube/config/config.inc.php
  • Ensuite il faut configurer nginx pour le nouveau domaine, et créer la nouvelle page d’accueil
  • Enfin, on peut rajouter cette page d’accueil sur la page d’accueil globale de galilee