Questa procedura e` stata verificata con Samba 3.0.14a su Debian Sarge, migrando da un NT4 sp6a.

Scopo dell'operazione

Migrare un dominio da NT4 a samba3, tenendo buoni gli utenti e gli account delle workstation. I gruppi vanno modificati e quindi non e` importante tenerli.

Stato della rete prima dell'operazione

Il server NT che vogliamo eliminare e` il PDC, nella rete si trova un server Samba 3 il quale ha utenti locali con lo stesso username del server NT4, per consentire agli utenti del dominio di accedere al server Samba anche se questo non partecipa al dominio di NT.

Il metodo indicato funziona anche se il server Samba viene installato ex-novo, quindi non ha mai lavorato in affiancamento all' NT, e non ha utenti locali. Inoltre funziona anche se il server Samba contiene solo alcuni utenti locali e non tutti quelli del server NT.

Il metodo indicato NON funziona se il server Samba contiene utenti locali che vanno mantenuti (e che accedono a Samba) che pero` non ci sono nell' NT. in questo caso occorrera` esportare questi utenti dal tdbsam e reimportarli alla fine. Questo caso non e` pero` spiegato.

Il server Samba, non partecipando al dominio, non ha machine accounts in locale, ne` conosce quelli dell' NT.

I gruppi, gli shares, le stampanti, sono totalmente diversi su Samba rispetto a NT, ed esistono gia` su Samba, in parte o per intero, quindi vanno preservati ed eventualmente integrati. Se anche non esistessero la procedura e` valida lo stesso, andranno creati in seguito secondo le proprie esigenze.

Vincoli tecnici e organizzativi


Operazioni da eseguire per migrare

Di seguito sono indicate le operazioni da eseguire in sequenza nel momento in cui si effettua la migrazione.

Backup configurazioni Linux

Esecuzione del "vampire"

ATTENZIONE: dal momento che si joina il dominio come BDC, i client cominciano a chiedere al BDC di autenticare, quindi siccome stiamo ancora migrando le configurazioni di fatto i client ricevono risposte farlocche che pero` considerano valide! In questa fase la rete deve essere ferma.

L'esempio di seguito effettua entrambe le operazioni sopra descritte.

adduser ntadmins
net groupmap modify ntgroup="Domain Guests" unixgroup=nogroup
net groupmap modify ntgroup="Domain Admins" unixgroup=ntadmins
net groupmap modify ntgroup="Domain Users" unixgroup=users

A questo punto ci si trova con uno strano casino. Gli utenti sono portati correttamente, e gli account delle macchine anche, sempre che rispettino i limiti di dimensione dei nomi degli utenti e delle macchine. Gli utenti che in Linux (/etc/passwd) esistevano gia` sono rimasti li` e hanno conservato l' UID, il GID, e tutte le impostazioni presenti in /etc/passwd e /etc/shadow. Gli utenti nuovi sono stati creati con un default che dipende dalla configurazione di Samba. Lo stesso identico discorso vale per i gruppi in /etc/group.

Quello che non viene portato correttamente sono i gruppi con gli spazi, che proprio non vengono creati. Inoltre l'appartenenza degli utenti ai gruppi e` fatta a meta`, perche` il comando che esegue la funzione di "add user to group" in realta` aggiunge l'utente al gruppo indicato, ma lo rimuove da quelli in cui era prima, cosa che non dovrebbe fare. Il risultato e` che gli utenti sono membri solo dell'ultimo gruppo in cui appaiono. La cosa tuttavia non ci preoccupa perche` i gruppi sono da rifare.

Sarebbe bene verificare nei log del comando di vampire che gli errori siano circoscritti e gestibili. (tipicamente sono circoscritti a utenti o gruppi con nomi non validi, ovvero con spazi dentro)

Nota che gli account di macchina vengono messi dentro al GID 513 (domain users) anziche` 514 (domain guests) come fa Linux se joini le macchine al dominio. La cosa non dovrebbe provocare casino, pero`, quindi li lasciamo cosi` a meno che non abbiamo tempo da perdere.

Promozione di Linux a PDC dopo il vampire

Nota: occorre staccare dalla rete il vecchio PDC NT prima di lanciare samba sul nuovo. Questa roba viene fatta con i demoni di samba spenti.

Test del nuovo PDC


Cose utili da sapere

E` possibile esportare e importare i dati dal backend tdbsam a un file XML, il che puo` venire utile per editarli a mano.

I comandi sono i seguenti:

$ pdbedit -e xml:filename (per esportare sul file "filename")
$ pdbedit -i xml:filename (per importare)

NOTA: occorre avere installato (cioe` presente) il plug-in XML per pdbedit, il quale non fa parte di nessuna distro samba per Debian. Il workaround molto sporco e` stato prendere quello della Suse 9 della versione di Samba corrispondente con quella che uso. Detto file va messo in /usr/lib/samba/pdb/xml.so, ed e` disponibile per Samba 3.0.14a qui: xml.so. Occorre anche installare il pacchetto libxml2

Per verificare che cosa viene registrato nel wins, nel caso in cui i client dovessero avere difficolta` a trovare il PDC, e` utile leggere (volendo editare anche) il file /var/lib/samba/wins.dat che e` in testo. il PDC ha come nome netbios una stringa composta dal nome del dominio seguita dal carattere "1B" hex.

Samba/MigrazioneDominio (last edited 2009-04-12 17:33:24 by localhost)