Tâche #10210
Scénario #10170: eCDL : finalisation 2.4
eole-client-annuaire: vérification/adaptation du template ldap.conf pour l'eCdl
Révisions associées
Configuration annuaire et client annuaire.
- triage des templates et fonctions : annuaire dans eole-ecdlannuaire et client
annuaire (destiné à être mutualisé dans eole-client-annuaire) dans conf-ecdl ; - activation de l'annuaire local de secours par une variable dédiée.
- fichier de configuration ldap.conf compatible modules EOLE ;
- ajout des variables pour le support du fichier de configuration ldap.conf.
Ref #10210
Répercussion des changements de la configuration du client ldap dans les scripts.
Ref #10210
Ajout de l'attribut redefine pour la balise file.
Cet attribut ne semble pas être pris en charge mais permet de contourner les
problèmes de doublon de fichier dans les templates (utile pour gérer les modules
meddtl en attendant l'occasion d'harmoniser les configurations).
Ref #10210
Utilisation d'un template générique pour ldap.conf.
Ref #10210
Il est nécessaire d'utiliser le protocole ldaps pour le meddtl.
Ref #10210
Retour sur protocole ldaps/port 636 ( ref #10210 @0.30 ).
cn=admin,%%ldap_base_dn est équivalent à %%smb_ldap_admin_dn.
L'identifiant de l'admin n'est cn=admin quand sur les modules EOLE. L'utilisation
d'une variable est nécessaire pour le fonctionnement des autres modules.
Ref #10210
Adaptation des fichiers de configuration ldap.conf ( fixes #10210 ) - smbldap.conf et smbldap_bind.conf ( ref #10207 )
- Ajout du fichier de mise à jour des mots de passe (fichier.ini)
- 'smbldap.conf.ecdl' est une mise à niveau du fichier de la version 2.3
- 'smbldap_bind.conf' devrait encore évoluer afin de pouvoir supprimer le template 'smbldap_bind.conf.ecdl'
Historique
#1 Mis à jour par christophe guerinot il y a environ 11 ans
Si on part sur l'idée d'éviter d'avoir un template du genre ldap.conf.ecdl :(
Il y aurait un compromis pour éviter de faire une usine à gaz serait d'introduire une variable 'ldap_medde' dans le projet conf-ecdl avec une série de is_defined ... dans le template
%if %%active_ldap == 'oui'
host %%adresse_ip_ldap
%if %%is_defined('ldap_medde') and %%is_defined('smb_ldap_suffix') and %%ldap_medde == 'oui'
base %%smb_ldap_suffix
port 636
TLSCACertificateFile %%ecdl_ca_cert
DEREF always
timelimit 120
TIMEOUT 20
nss_base_passwd %%smb_ldap_suffix?sub
nss_base_group %%smb_ldap_suffix?sub
%else
base %%ldap_base_dn
port 389
timelimit 10
nss_base_passwd %%ldap_base_dn?sub
nss_base_group %%ldap_base_dn?sub
%end if
(...)
%end if
avec peut être des directives à paramétrer timelimit, timeout ?
#2 Mis à jour par Benjamin Bohard il y a environ 11 ans
%set %%active_ldap = 'non'
# cas Amon sans AmonEcole
%if (%%getVar('activer_nufw', 'non') == 'oui' and %%activer_client_ldap == 'non') or %%activer_client_ldap != 'non'
%set %%active_ldap = 'oui'
%set %%ldap_servers = [%%adresse_ip_ldap]
%if %%getVar('activer_ldap_secours', 'non') == 'oui'
%set %%ldap_servers = %%ldap_servers + ['localhost']
%end if
%set %%nss_map_base_passwd = [%%ldap_base_dn, 'sub', %%getVar(%%nss_map_base_passwd_filter, '')]
%set %%nss_map_base_passwd = [el for el in %%nss_map_base_passwd if el != '']
%set %%nss_map_base_group = [%%ldap_base_dn, 'sub', %%getVar(%%nss_map_base_group_filter, '')]
%set %%nss_map_base_group = [el for el in %%nss_map_base_group if el != '']
%end if
%if %%active_ldap == 'oui'
# paramètres de connexion
URI %%custom_join(['ldap://{0}:389'.format(ldap) for ldap in %%ldap_servers], ' ')
ldap_version 3
%if %%ldap_tls == 'oui'
ssl start_tls
tls_checkpeer no
%if not %%is_empty(%%ldap_ca_cert)
TLS_CACERT %%ldap_ca_cert
%end if
TLSVerifyClient never
TLS_REQCERT never
%else
ssl off
%end if
# options de recherche
base %%ldap_base_dn
scope sub
pam_login_attribute uid
pam_password md5
nss_map_attribute gecos displayName
nss_base_passwd %%custom_join(%%nss_base_passwd, '?')
nss_base_group %%custom_join(%%nss_base_passwd, '?')
#fixe #1809
nss_initgroups_ignoreusers root
# optimisations
timelimit %%ldap_timelimit
bind_time_limit %%ldap_bind_time_limit
bind_policy %%ldap_bind_policy
%end if
Cette approche nécessite une nouvelle variable "activer_ldap_secours" pour ajouter localhost (ou autre ?) dans le fichier de configuration et activer les balises fichiers dans le dictionnaire.
Les variables nss_map_base_passwd et nss_map_base_group sont les équivalents des variables meddtl_suffixe_ldap_nss_base_passwd et meddtl_suffixe_ldap_nss_base_group
Les options d'optimisation pourrait être des variables (elles n'ont pas la même valeur actuellement).
#3 Mis à jour par Benjamin Bohard il y a environ 11 ans
- Statut changé de Nouveau à En cours
#4 Mis à jour par christophe guerinot il y a environ 11 ans
Impeccable :)
l'accès au ldap samba centralisé est fonctionnel
Apparemment juste une bricole dans le template à modifier
nss_base_passwd %%custom_join(%%nss_map_base_passwd, '?') nss_base_group %%custom_join(%%nss_map_base_group, '?')
au lieu de %%nss_base_passwd
#5 Mis à jour par Benjamin Bohard il y a environ 11 ans
- % réalisé changé de 0 à 90
- Restant à faire (heures) changé de 4.0 à 0.2
#6 Mis à jour par christophe guerinot il y a environ 11 ans
- Statut changé de En cours à Résolu
- % réalisé changé de 90 à 100
Appliqué par commit conf-ecdl:5d843f7d9e30a429d2c2ba6680cc7d5e58ec63b5.
#7 Mis à jour par christophe guerinot il y a environ 11 ans
A l'attention de Benjamin
j'ai du adapter la partie activer_annuaire_secours
- duplication des 3 lignes concernant le certificat (il est necessaire même si tls n'est pas activé (ldaps)
- réinitialiser la variable ldap_base_dn avec smb_ldap_suffix
- rajouter les deux lignes
deref always
referrals on
en fait elles sont nécessaires même sans proxy ldap
#8 Mis à jour par Thierry Bertrand il y a environ 11 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) changé de 0.2 à 0.0