- Scribe membre d'un AD Seth : tests classicupgrade
- Classic Upgrade sur un Scribe existant
Scribe membre d'un AD Seth : tests classicupgrade¶
Deux essais infructueux :- Classicupgrade effectué sur Scribe puis copie du résultat su Seth
- plus de compte
Administrator
- problèmes de DNS,
scribe.dompedago.etb1.lan
apparaît dans les bases Samba4 comme étant le DC - Le poste ne peuvent pas se connecter au domaine AD
- plus de compte
- Classicupgrade effectué sur Seth:
- Les comptes sont bien présents
- On perd le mot de passe du compte
Administrator
. Il faut le réinitialiser - Il est quand même nécessaire de sortir les postes du domaine NT pour les joindre au domaine AD
Voici les notes des commandes exécutées.
Préparer le Classicupgrade sur Scribe en prod en mode NT¶
Backup annuaire de Scribe¶
service slapd stop tar czvf ldap.backup.tgz /etc/ldap* /var/lib/ldap/ # slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no -l ldap.backup.ldif service slapd start
Backup Samba de Scribe¶
service smbd stop service nmbd stop mkdir /etc/samba.NT mkdir /var/lib/samba.NT #cp --preserve /etc/hostname{,.NT} cp -r --preserve /etc/samba/* /etc/samba.NT/ cp -r --preserve /var/lib/samba/* /var/lib/samba.NT/ rm -f /etc/samba/smb.conf
Préparer le classicupgrade¶
- Copier les fichiers dans le répertoire spécial : /var/lib/samba.PDC
mkdir -p /var/lib/samba.PDC/{etc,dbdir} cp -p /var/lib/samba/private/secrets.tdb /var/lib/samba.PDC/dbdir/ cp -p /var/lib/samba/private/schannel_store.tdb /var/lib/samba.PDC/dbdir/ cp -p /var/lib/samba/private/passdb.tdb /var/lib/samba.PDC/dbdir/ #cp -p /var/lib/samba/var/lock/gencache_notrans.tdb /var/lib/samba.PDC/dbdir/ cp -p /var/lib/samba/group_mapping.tdb /var/lib/samba.PDC/dbdir/ cp -p /var/lib/samba/account_policy.tdb /var/lib/samba.PDC/dbdir/ cp -p /var/lib/samba/wins* /var/lib/samba.PDC/dbdir/ cp /etc/samba/smb.conf /var/lib/samba.PDC/etc/smb.PDC.conf
- Renommage du serveur (en "seth") (selon infrastructure cible)
Samba 4.7
sed -e "s/\(netbios name = \).*/\1seth/" -e "/logging/,/enable privileges/""s/^/#/" /etc/samba/smb.conf > /var/lib/samba.PDC/etc/smb.PDC.conf sed -i "s/$(CreoleGet nom_machine)/seth/" /etc/hostname
Samba 4.3
sed -i "s/\(netbios name = \).*/\1seth/" /var/lib/samba.PDC/etc/smb.PDC.conf sed -i "s/$(CreoleGet nom_machine)/seth/" /etc/hostname
- Sauvegarde des données (facultatif mais peut servir)
tar czvf samba.PDC.tgz /var/lib/samba.PDC
Adapter les configuration ETB1¶
- Amon
- Forward de zone DNS : dompedago.etb1.lan 10.1.3.6 (ip de Seth en DMZ)
- Authentification proxy en NTLM/KERBEROS
- Scribe
- domaine local passe à dompedago.etb1.lan
- DHCP -> changer le DNS renvoyé avec l'IP de Seth ainsi que le domaine DNS à renvoyer (celui de Seth)
- Seth
- nom_machine : seth
- domaine local : dompedago.etb1.lan
- dns : ip Amon sur la dmz
- NTP : ip Amon sur la dmz
- Pas de DC additionnel
Option Classicupgrade depuis Scribe¶
Génération de la configuration Samba AD depuis Scribe¶
- Exécuter la procédure
samba-tool domain classicupgrade --dbdir=/var/lib/samba.PDC/dbdir --use-xattrs=yes --realm=dompedago.etb1.lan --dns-backend=SAMBA_INTERNAL /var/lib/samba.PDC/etc/smb.PDC.conf
- Vérifier que la base sam est bien remplie
apt-get install ldb-tools ldbsearch -H /var/lib/samba/private/sam.ldb -S '(objectclass=user)' cn
- sauvegarde la conf générée
mv /var/lib/samba{,AD} mv /etc/samba{,AD} tar czvf samba.AD.tgz /var/lib/sambaAD
- Relancer Samba en mode NT
mv /etc/hostname{.NT,} mv /etc/samba{.NT,} mv /var/lib/samba{.NT,} service smbd start service nmbd start
Mise en place sur Seth¶
- Instancier Seth
- Copier l'archive obtenue sur Scribe
scp root@scribe.etb1.lan:/root/samba.AD.tgz . tar xzvf samba.AD.tgz -C /
- Arrêter Samba
service samba-ad-dc stop
- Sauvegarder les bases samba
mv /var/lib/samba{,SVG}
- Restaurer les bases issues de Scribe
mv /var/lib/samba{AD,} cp /var/lib/sambaSVG/.instance_ok /var/lib/samba/
- Reconfigurer Seth
- Ajouter une entrée DNS seth.dompedago.etb1.lan dans le DNS Samba
samba-tool dns add 10.1.3.6 dompedago.etb1.lan seth A 10.1.3.6 -U admin
Option Classicupgrade depuis Seth¶
Instancier Seth¶
Le serveur est opérationnel en tant que DC
Préparer le classicupgrade sur Seth¶
- Sur Seth instancié, arrêter samba
service samba-ad-dc stop
- Copier les backup obtenus sur Seth (depuis Seth)
scp root@scribe.etb1.lan:~/ldap.backup.tgz . scp root@scribe.etb1.lan:/root/samba.PDC.tgz .
- Installer openldap, restaurer l'annuaire et lancer le service
apt-eole install slapd service slapd stop tar xzvf ldap.backup.tgz -C / tar xzvf samba.PDC.tgz -C / #service slapd start /usr/sbin/slapd -g openldap -u openldap -f /etc/ldap/slapd.conf
- Lancer la procédure classic upgrade :
samba-tool domain classicupgrade --dbdir=/var/lib/samba.PDC/dbdir/ --realm=dompedago.etb1.lan --dns-backend=SAMBA_INTERNAL /var/lib/samba.PDC/etc/smb.PDC.conf
- Stopper le service slapd, relancer Samba et réinitialiser le mot de passe
Administrator
pkill slapd
service samba-ad-dc restart
samba-tool user setpassword Administrator
Effectuer la procédure d'intégration du serveur Scribe dans le domaine AD de Seth¶
http://eole.ac-dijon.fr/documentations/2.6/partielles/beta/ModuleSeth/co/eole-AD.html
Il est tout de même nécessaire de sortir les postes du domaine NT pour les joindre au domaine AD
Conclusion¶
Finalement, dans cette situation, on ne peut pas utiliser la méthode classicupgrade pour éviter l'opération de sortie/jonction au domaine AD à cause du changement de nom du serveur (Scribe->Seth).
On devra se contenter de la procédure avec eole-ad et LSC.
Il est toutefois possible de réinjecter les nt-hash des passwords des comptes de Scribe sur Seth :
- Extraction des Hash sur Scribe
pdbedit -L -w | sed -e "/^.*$:/d" |cut -d":" -f 1,4 > hash_passwd
- Injection des Hash sur Seth pour chaque USERNAME
pdbedit -u USERNAME --set-nt-hash PASSWORD_HASH
La jonction des postes sur le nouveau DC pourra se faire à l'aide du script joinDom.ps1
présent dans le dépôt GIT seth-ecologie de project:pne-sr en adaptant joinDom.psd1
.
Ce script pourra être lancé à l'ouverture de session de chaque poste avant la procédure d'intégration du serveur Scribe dans le domaine AD de Seth.
Classic Upgrade sur un Scribe existant¶
Test réalisé à partir d'un etb1.scribe avec poste 1703 intégré avec joineole.
Préparation¶
Configuration¶
- smb_netbios_name="scribe"
- smb_workgroup="dompedago"
- nom_domaine_local="etb1.lan"
=> realm=dompedago.etb1.lan
Dépendances¶
apt-get install krb5-user ldb-tools
Réalisation du Classicupgrade¶
Exécution de la procédure¶
Mise en application de la procédure décrite ci-dessus (Option Classicupgrade depuis Scribe).
NB : Stocker le mot de passe Administrator, affiché lors de la procédure :)
Adaptations¶
Attention à la configuration DNS :- modifier le resolv.conf
- ajouter dans /etc/samba/smb.conf
dns forwarder = 10.1.3.1
- les DNS diffusés par le DHCP
Arrêter slapd
Utiliser le fichier kerberos généré par la procédure :
cp /var/lib/samba/private/krb5.conf /etc/
Vérification possible
kinit Administrator@ETB1.lan
Résultat¶
Après upgrade, on s'aperçoit que contrairement à la synchronisation LSC, les SID sont conservés :
root@scribe:~# ldbsearch -S 'cn=prenom.eleve107' | grep -i sid objectSid: S-1-5-21-682346051-3557492774-2305020224-21042
root@scribe:~# ldapsearch -x 'uid=prenom.eleve107' | grep -i sid sambaSID: S-1-5-21-682346051-3557492774-2305020224-21042
Les anciennes ACL sont fonctionnelles même si l'on constate toujours une différence avec celles ajoutées via Windows :
root@scribe:~# getfacl /home/p/prenom.eleve112/perso/test getfacl : suppression du premier « / » des noms de chemins absolus # file: home/p/prenom.eleve112/perso/test # owner: prenom.eleve112 # group: DomainUsers user::rwx user:prenom.eleve112:rwx user:3000008:rwx group::--- group:DomainUsers:--- group:professeurs:r-x group:3000008:rwx mask::rwx other::--- default:user::rwx default:user:prenom.eleve112:rwx default:user:3000008:rwx default:group::--- default:group:DomainUsers:--- default:group:professeurs:r-x default:group:3000008:rwx default:mask::rwx default:other::---