Skip to content

Latest commit

 

History

History
166 lines (99 loc) · 7.96 KB

test-annu-smb44.md

File metadata and controls

166 lines (99 loc) · 7.96 KB

Tester la compatibilité d'un annuaire de production dans une machine virtuelle

Vous trouverez ci-dessous quelques explications concernant la mise en place d'un environnement de test d'un annuaire de production et le passage en samba 4.4 et se3 3.0 sur une machine virtuelle.

Préliminaires

On suppose ici que vous avez déjà procédé à l'installation d'une machine virtuelle SE3. Les tests ci-dessous ne sont prévus que dans ce cadre.

Cette machine virtuelle se3 sera donc en Wheezy 7.11, branche stable et à jour : se3 2.6.3.6.

Si vous voulez plus de détails sur la mise en place d'une machine virtuelle SE3, vous pourrez vous reporter à la documentation ad hoc.

Conseil : il est également plus prudent d'avoir un snapshot de sa VM sous la main avant de se lancer dans les tests…

La problématique

Le passage sur se3 version 3.0 et donc samba 4.4 demande un annuaire légèrement différent de l'actuel et respectant certaines normes induites par samba 4.4. Lors du passage en 3.0, l'annuaire est donc analysé et modifié par un script durant la mise à jour.

Toutefois, il peut être utile de tester, avant le passage en version 3.0, la compatibilité de l'annuaire sur une machine virtuelle en question mais cela demande d'avoir une machine virtuelle avec exactement les mêmes caractéristiques (nom de domaine samba, meme base DN, etc.).

Le script test-ldap-smb44.sh, dont nous allons détailler le mode de fonctionnement, se propose de résoudre cette problématique de compatibilité.

Que fait le script de test ?

Le script test-ldap-smb44.sh analyse un export ldap prenant la forme d'un fichier ldif afin de mettre en place toute la structure ldap/samba correspondante.

Que permet-il de vérifier ?

Le script test-ldap-smb44.sh permet de vérifier tranquillement que l'annuaire passe la mise à jour SE3 3.0 sans encombre et donc sa compatibilité avec samba 4.4.

Si tel n'est pas le cas, on peut alors remonter ses problèmes sur la liste de diffusion se3-devel afin que le défaut constaté sur l'annuaire testé puisse être pris en compte via un correctif adéquat. Ce correctif permettra, lors de la mise à jour, de bien passer correctement sur l'annuaire de production.

Comment obtenir un export de l'annuaire ?

Le script test-ldap-smb44.sh va analyser un export de l'annuaire de votre se3 en production. Il s'agit donc de réaliser un tel export.

Pour cela, sur votre se3 en production, via l'interface web du se3, vous utilisez l'entrée Annuaire et choisissez Administration LDAP. Vous laissez vide le champ concernant le filtre LDAP et vous validez.

Vous obtenez ainsi un fichier _tmp_export.ldif que vous enregistrez : vous avez un export de l'annuaire du se3.

Comment utiliser le script ?

On commence par charger le script test-ldap-smb44.sh sur la machine virtuelle en le récupérant sur le dépot Git à l'aide de la commande suivante :

wget 
https://gist.githubusercontent.com/SambaEdu/bc0c2b4166c9152cbf786cefb271b2e8/raw/fe2f6eef0ee4c5495c619770e0e32d8ec5e5a098/test-ldap-smb44.sh

On dépose, dans le même dossier, un export de son annuaire de production que l'on veut tester : voir ci-dessus pour obtenir un export. Par exemple, mettons qu'il se nomme _tmp_export.ldif ; mais ce n'est pas obligatoire : il peut s'appeler autrement.

On lance le script avec le nom de l'export en argument :

bash test-ldap-smb44.sh _tmp_export.ldif

Les étapes du script

Dans un premier temps, une sauvegarde de l'annuaire en cours de fonctionnement est faite dans /var/se3/save/ldap afin de revenir à l'état initial par la suite si on le souhaite.

Ensuite, le script va tenter de trouver toutes les informations dont il a besoin dans l'export ldif donné en argument, à savoir la basedn, le sid samba et le nom de domaine samba.

Dans un premier temps la base dn trouvée sera affichée. Si cela convient, le script recherche les autres éléments puis donne un récapitulatif.

Voici un exemple :

 Résumé des modifications :
- Analyse de export.ldif
- Mise en place la base dn  ou=clg-hugo-gisors,ou=ac-rouen,ou=education,o=gouv,c=fr
- Vidage de l'annuaire insertion du contenu de  export.ldif
- Sid samba positionné à  S-1-5-21-1428338548-94502439-1745090853
- Nom de domaine Samba récupéré   SAMBAEDU3

Peut-on poursuivre? (o/n)

Le script commence alors les modifications.

En premier lieu il met à jour mysql avec les valeurs trouvées dans le fichier ldif :

changement de la basedn dans mysql
changement du sambaSID dans mysql
changement du nom de domaine samba dans mysql

Ensuite il met en place une base ldap vierge puis intègre le fichier ldif

Reconstruction de la conf ldap
Pas de replication, LDAP local, SSL off

Supression de /var/lib/ldap
Intégration du fichier ldif  export.ldif
.#################### 100.00% eta   none elapsed             03s spd 367.4 k/s
Closing DB...

Après quoi viennent les modifications concernant samba :

remise en place pass ldap samba
Setting stored password for "cn=admin,ou=clg-hugo-gisors,ou=ac-rouen,ou=education,o=gouv,c=fr" in secrets.tdb
changement du SID pour samba
lancement update-smbconf.sh pour conf initiale
Lancement correctSID.sh au cas ou
Lancement update-smbconf.sh pour activation ldaptrusted

Terminé !!

Normalement, en une seule passe, le script devrait remettre en place un système fonctionnel.

Si tel n'est pas le cas, le script peut être lancé une seconde fois. Il est par exemple possible que samba refuse de fonctionner dans un premier temps vue le bouleversement…

Test de la mise à jour vers samba 4.4 et se3 3.0

Une fois la structure mise en place à l'aide du script test-ldap-smb44.sh, il reste à tester le passage en samba 4.4, toujours sur la même VM. Il faut donc installer le paquet se3 3.0 disponible sur la branche se3testing.

Afin de se positionner sur la branche se3testing, on pourra se reporter à la documentation détaillant la modification du fichier /etc/apt/sources.list.d/se3.list.

Une fois sur la branche se3testing, mettre à jour la liste des paquets puis installer les paquets se3, se3-logonpy et se3-domain :

apt-get update 
apt-get install se3 se3-logonpy se3-domain

Samba 4.4 sera tiré par dépendance. Si d'autres modules sont utilisés, ils peuvent être mis à jour également. En effet, samba 4.4 induit des modifications sur quasiment l'ensemble des paquets Se3.

Si des problèmes sont rencontrés, ils devraient être apparents lors de la mise à jour.

Toutefois quelques tests manuels sont toujours possibles, les voici :

La commande suivante permet de vérifier que l'annuaire est bien en mode ldap trusted

grep trusted /etc/samba/smb.conf

trusted_yes.png

Les deux commandes suivantes testent l'annuaire sur des points qui poseront problème si l'annuaire n'est pas compatible avec samba 4.4. :

create_adminse3.sh
smbclient -L localhost -U admin

Remontée des tests

Merci de remonter les résultats de vos tests sur la liste de diffusion l-se3-devel de Caen.