Projet

Général

Profil

Scribe AD » Historique » Version 11

« Précédent - Version 11/91 (diff) - Suivant » - Version actuelle
Benjamin Bohard, 10/01/2018 14:35


Scribe AD

Actions

Migration du Scribe NT vers Scribe AD

Procédure classicupgrade

La procédure classicupgrade nécessite des interventions complémentaires (pouvant être scriptées).

En partant d’un Scribe fonctionnel instancié avec import de comptes

stopper et désactiver les services de samba en mode NT (smbd, nmbd, winbind),
systemctl stop nmbd
systemctl stop smbd
systemctl stop winbind
systemctl disable nmbd
systemctl disable smbd
systemctl disable winbind
installer les outils nécessaires :
apt-get install krb5-user ldb-tools
patcher nsswitch.conf.default, ldap.conf
--- distrib/nsswitch.conf.default    2017-05-15 11:18:44.000000000 +0200
+++ modif/nsswitch.conf.default    2018-01-09 15:12:53.260292570 +0100
@@ -7,8 +7,8 @@
 ########################################################
 # /etc/nsswitch.conf

-%set %%active_winbind = %%getVar('activer_winbind', 'non') == 'oui'
-%set %%active_ldap =  %%getVar('ldap_nss', 'non') == 'oui'
+%set %%active_winbind = True
+%set %%active_ldap =  False

 passwd:         compat %slurp
 %if %%active_ldap
déplacer la configuration samba actuelle dans un répertoire de travail
mv /etc/samba/ /etc/samba.PDC/
renommer le fichier de configuration smb.conf de ce répertoire de travail,
mv /etc/samba.PDC/smb.conf /etc/samba.PDC/smb.PDC.conf
copier les bases de données de samba dans un sous-répertoire du répertoire de travail
mkdir /etcsamba.PDC/dbdir/
cp -p /etc/samba.PDC/private/secrets.tdb /etc/samba.PDC/dbdir/
cp -p /etc/samba.PDC/private/schannel_store.tdb /etc/samba.PDC/dbdir/
cp -p /etc/samba.PDC/private/passdb.tdb /etc/samba.PDC/dbdir/
cp -p /etc/samba.PDC/var/lock/gencache_notrans.tdb /etc/samba.PDC/dbdir/
cp -p /etc/samba.PDC/var/locks/group_mapping.tdb /etc/samba.PDC/dbdir/
cp -p /etc/samba.PDC/var/locks/account_policy.tdb /etc/samba.PDC/dbdir/
lancer la commande samba-tool domain classicupgrade
realm=$(CreoleGet nom_domaine_local)
samba-tool domain classicupgrade --dbdir=/etc/samba.PDC/dbdir --use-xattrs=yes --realm=${realm^^} --dns-backend=SAMBA_INTERNAL /etc/samba.PDC/smb.PDC.conf
créer le patch smb.conf à partir du nouveau fichier créer par samba-tool
stopper et désactiver le service slapd
systemctl stop slapd
systemctl disable slapd
créer le compte reader
cat /root/.reader
samba-tool user create reader
modifier les variables

Le base DN est maintenant du type DC=etb1,DC=lan.

Le compte reader est maintenant du type CN=reader,CN=Users,DC=etb1,DC=lan.

modifier les scripts de posttemplate 00-annuaire, 02-annuaire et 04-fichier

exit 0 ajouté en tête des fichiers pour ne pas faire les traitements.

activer et démarrer le service samba-ad-dc
systemctl enable samba-ad-dc
systemctl start samba-ad-dc
reconfigure
stopper le service nmbd

Le service nmbd est démarré automatiquement par creole

systemctl stop nmbd

Points à traiter

service nmbd

Le service nmbd est géré par creole et sa désactivation manuelle n’est pas suffisante

variables creole

Les variables concernant l’annuaire sont verrouillées (même après import du fichier de configuration : valeurs par défaut).

Il n’est pas possible de modifier, hors des patchs, les valeurs pour le base DN, le protocole (ldaps), etc.

dns

Un problème subsiste pour le dns, peut-être lié à un problème kerberos

janv. 10 11:49:15 scribe samba[15840]: [2018/01/10 11:49:15.837313,  0] ../lib/util/util_runcmd.c:328(samba_runcmd_io_handler)
janv. 10 11:49:15 scribe samba[15840]:   /usr/sbin/samba_dnsupdate: Traceback (most recent call last):
janv. 10 11:49:15 scribe samba[15840]: [2018/01/10 11:49:15.837535,  0] ../lib/util/util_runcmd.c:328(samba_runcmd_io_handler)
janv. 10 11:49:15 scribe samba[15840]:   /usr/sbin/samba_dnsupdate:   File "/usr/sbin/samba_dnsupdate", line 621, in <module>
janv. 10 11:49:15 scribe samba[15840]: [2018/01/10 11:49:15.837579,  0] ../lib/util/util_runcmd.c:328(samba_runcmd_io_handler)
janv. 10 11:49:15 scribe samba[15840]:   /usr/sbin/samba_dnsupdate:     get_credentials(lp)
janv. 10 11:49:15 scribe samba[15840]: [2018/01/10 11:49:15.837630,  0] ../lib/util/util_runcmd.c:328(samba_runcmd_io_handler)
janv. 10 11:49:15 scribe samba[15840]:   /usr/sbin/samba_dnsupdate:   File "/usr/sbin/samba_dnsupdate", line 125, in get_credentials
janv. 10 11:49:15 scribe samba[15840]: [2018/01/10 11:49:15.837691,  0] ../lib/util/util_runcmd.c:328(samba_runcmd_io_handler)
janv. 10 11:49:15 scribe samba[15840]:   /usr/sbin/samba_dnsupdate:     raise e
janv. 10 11:49:15 scribe samba[15840]: [2018/01/10 11:49:15.837737,  0] ../lib/util/util_runcmd.c:328(samba_runcmd_io_handler)
janv. 10 11:49:15 scribe samba[15840]:   /usr/sbin/samba_dnsupdate: RuntimeError: kinit for SCRIBE$@ETB1.LAN failed (Cannot contact any KDC f
janv. 10 11:49:15 scribe samba[15840]: [2018/01/10 11:49:15.837778,  0] ../lib/util/util_runcmd.c:328(samba_runcmd_io_handler)
janv. 10 11:49:15 scribe samba[15840]:   /usr/sbin/samba_dnsupdate:
janv. 10 11:49:15 scribe samba[15840]: [2018/01/10 11:49:15.853639,  0] ../source4/dsdb/dns/dns_update.c:294(dnsupdate_nameupdate_done)
janv. 10 11:49:15 scribe samba[15840]:   ../source4/dsdb/dns/dns_update.c:294: Failed DNS update - NT_STATUS_ACCESS_DENIED

Un essai de modification de la configuration de kerberos (krb5.conf) a été tenté mais les résultats sont incertains.

[libdefaults]
    default_realm = ETB1.LAN
    dns_lookup_kdc = true
    dns_lookup_realm = true

Pistes de travail pour la migration de l'annuaire

Proposition de méthode pour arriver a un Scribe AD en utilisant malgré-tout une
partie du travail déjà fait par l'équipe samba dans sa procédure
classicupgrade.

La procédure proprement dite n'est pas suffisante pour nous et l'utilisation
brute de l'outil samba non plus, cet outil réalise le provisionning AD et les
initialisations des fichiers db, hors pour bien faire nous avons besoin que samba ai
connaissance des schemas complémentaires du scribe (radius, eole, ent ...).
avant la migration des comptes. Pour lui ajouter les dit schémas il faut que
les fichiers db soient initialisées, donc l'utilisation de l'outil est
impossible. Par chance il utilise la lib python samaba, ce qui nous ouvre des
possibilités. Sans oublié que l'outil samba crée la configuration pour samba
a partir de l'ancienne et cette fonctionnalités ne nous ai pas vraiment utile.

Donc l'idée est de recréer une procédure de migration complête pour nos
besoins.

Il faut donc refaire le provisionning de l'AD ce qui est fait dans Seth donc
nous pouvons utiliser cette base de travail

Migrer les shemas complémentaires actuels au format lisible par samba4.

Créer un script de migration des comptes qui ajoute les schemas, utilise la
lib python samba4 pour migrer les comptes et ensuite mettre à jour les comptes
avec les attributs supplémentaires de l'ancien annuaire.

tableau_options_seth.png Voir (31 ko) Benjamin Bohard, 18/01/2018 10:10