Project

General

Profile

Tâche #10210

Scénario #10170: eCDL : finalisation 2.4

eole-client-annuaire: vérification/adaptation du template ldap.conf pour l'eCdl

Added by christophe guerinot about 5 years ago. Updated about 5 years ago.

Status:
Fermé
Priority:
Normal
Start date:
01/05/2015
Due date:
% Done:

100%

Estimated time:
4.00 h
Spent time:
Remaining (hours):
0.0

Associated revisions

Revision 82a18e3a (diff)
Added by Benjamin Bohard about 5 years ago

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

Revision 8a46b77f (diff)
Added by Benjamin Bohard about 5 years ago

Répercussion des changements de la configuration du client ldap dans les scripts.

Ref #10210

Revision 1ec71775 (diff)
Added by Benjamin Bohard about 5 years ago

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

Revision 540d6571 (diff)
Added by Benjamin Bohard about 5 years ago

Utilisation d'un template générique pour ldap.conf.

Ref #10210

Revision e5306ac4 (diff)
Added by Benjamin Bohard about 5 years ago

Il est nécessaire d'utiliser le protocole ldaps pour le meddtl.

Ref #10210

Revision 29e2bf7e (diff)
Added by christophe guerinot about 5 years ago

Retour sur protocole ldaps/port 636 ( ref #10210 @0.30 ).

Revision 0a143b10 (diff)
Added by christophe guerinot about 5 years ago

smb.conf: MEDDE introduction du mode mixte comme défini en 2.3 ( fixes #10209 @2.0 ).

  • pour les adaptations sur le template ldap.conf ( voir ref #10210 )

Revision f31e78b4 (diff)
Added by Benjamin Bohard about 5 years ago

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

Revision 5d843f7d (diff)
Added by christophe guerinot about 5 years ago

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'

History

#1 Updated by christophe guerinot about 5 years ago

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 Updated by Benjamin Bohard about 5 years ago

%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 Updated by Benjamin Bohard about 5 years ago

  • Status changed from Nouveau to En cours

#4 Updated by christophe guerinot about 5 years ago

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 Updated by Benjamin Bohard about 5 years ago

  • % Done changed from 0 to 90
  • Remaining (hours) changed from 4.0 to 0.2

#6 Updated by christophe guerinot about 5 years ago

  • Status changed from En cours to Résolu
  • % Done changed from 90 to 100

#7 Updated by christophe guerinot about 5 years ago

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 Updated by Thierry Bertrand about 5 years ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) changed from 0.2 to 0.0

Also available in: Atom PDF