Differences between revisions 2 and 3
Revision 2 as of 2005-06-03 13:36:20
Size: 4445
Editor: Kurgan
Comment:
Revision 3 as of 2005-06-03 18:04:13
Size: 10385
Editor: Kurgan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
=== Procedura migrazione utenti e machine account === === Migrazione utenti e machine account ===
Line 51: Line 51:
=== Procedura cambio WINS === === Cambio WINS ===
Line 55: Line 55:
----

=== Checklist per eseguire il 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! Questo significa che durante questa operazione e fino a che non si sono stabilizzate le cose i client danno i numeri di brutto!

 * Salvare le configurazioni
  * copiare /etc/passwd, /etc/group, /etc/shadow, e tutti i files di /var/lib/samba
  * copiare i files in /var/spool/samba

 * Mappare i gruppi di base (domain admins, domain users, domain guests)
  * creare il gruppo ntadmins
  * usare i comandi {{{net groupmap modify}}} per mappare almeno i tre succitati gruppi
{{{
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
}}}

 * Joinarsi al dominio come BDC
  * mettere {{{domain master=no}}}
  * mettere il dominio giusto in smb.conf
  * Lanciare samba
  * usare il comando {{{net rpc join -S sntgiepr01 -W GIEPR -UAdministrator%password}}} per joinare il dominio
  * Volendo, usare il comando {{{net rpc samdump -S sntgiepr01 -W GIEPR -UAdministrator%password > filename}}} per dumpare su un file tutti i dati degli utenti e gruppi del server NT. Non e` necessario, ma aiuta poi a capire cosa c'e` che non va, nel caso.
  * Operazioni di pulizia dei gruppi (probabilmente inutili)
   * Fermare samba, rinominare il file {{{/var/lib/samba/group_mapping.tdb}}}, eseguire {{{net groupmap list}}} per verificare se i gruppi sono tutti non mappati
   * Rieseguire la mappatura di base dei gruppi. Notare se i SID dei gruppi contengono i valori propri del dominio NT che stiamo migrando.
  * usare il comando {{{net rpc vampire -S oldnt4pdc -U Administrator%password > vam.log 2>errori_vamp.log}}} per vampirare loggando.

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. 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` lo aggiunge al gruppo indicato, ma lo rimuove da quelli in cui era prima, cosa che non dovrebbe fare. 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.

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`.

=== Checklist per diventare 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.

 * Provare con {{{pdbedit -L -v}}} se a naso i SID sono quelli giusti (cioe` parte del dominio interessato alla migrazione)
 * Pulire i files /etc/passwd ed /etc/group
  * Verificare se in /etc/passwd sono stati creati gli utenti
   * Se gli utenti erano tutti gia` presenti, non dovrebbero essere stati creati ex-novo
   * Se qualche utente e` stato aggiunto, verificare che sia a posto e che magari non sia obsoleto e da cancellare.
  * Verificare se in /etc/passwd sono state creati gli account di macchina e sono giusti come gruppo e home.
  * Nota che in /etc/shadow gli utenti aggiunti ex-novo hanno "!" al posto di "*" come password disattivata. Aiuta a capire quali sono nuovi.
  * Editare /etc/group ed eliminare tutti i gruppi inutili. Occhio al gruppo "Users" che viene creato e che ovviamente non e` "users" standard. Eliminarlo senza pieta`.
  * Se si eliminano utenti, magari farlo con userdel -r per fare secche le home ('''controlla prima che non puntino a qualcosa che sia pericoloso!''') e le entry in shadow.

 * Sistemare i nuovi gruppi
  * Aggiungere root al gruppo ntadmins in /etc/group
  * modificare l'account di root con pdbedit per dargli il primary group SID 512 (domain admins) {{{pdbedit root -r -G="S-1-5-21-610474926-686117454-311576647-512"}}}
  * verificare con pdbedit se gli utenti sono stati messi correttamente tutti con il primary group SID 513 (domain users)
  * editare /etc/group, magari prendendo pezzi dal backup, per rimettere a posto i gruppi che c'erano prima. Probabilmente con un minimo di occhio si puo` riprendere il backup senza stare tanto a copiaincollare.
  * Pulire il group mapping di samba a colpi di {{{net groupmap delete ntgroup="nome gruppo"}}} eliminando tutti i gruppi vecchi.
  * Aggiungere i gruppi nuovi con {{{net groupmap add ntgroup="groupname" unixgroup=groupname type=d}}} (non e` chiaro se serva, dal momento che non c'e` nulla da mappare se i nomi dei gruppi sono uguali)
  
 * Modificare smb.conf mettendo {{{domain master=yes}}} e {{{wins support = yes}}}, e levando {{{wins server = 10.0.0.251}}}
 * Modificare il server DHCP per riflettere la modifica al WINS SERVER.
 * Lanciare samba

=== Checklist per il test del nuovo PDC ===

 * eventualmente tracciare il traffico con tethereal sul server per avere una visione piu` chiara.
 * Tentare con un client di fare logon al dominio con diversi utenti, anche utenti che non si siano mai loggati da quel client
 * verificare empiricamente se i permessi di accesso ai profili locali sul client sono ancora al loro posto
 * dal client eseguire qualche {{{net user <username> /domain}}} per vedere se i dati dell'utente (e la mappatura dei gruppi) vengono letti bene dal nuovo PDC.
 * provare a joinare un nuovo client al dominio e vedere se funziona.


----

Questi sono SOLO APPUNTI e non vanno presi per una procedura collaudata

Scopo: migrare un dominio da NT4 a samba3.

Dettagli:

  • gli utenti ci sono gia` sul server samba, hanno gli stessi username di quelli del dominio, ma il server samba non partecipa al dominio.
  • gli utenti del server samba al momento hanno come dominio "linuxsrv" il che non va bene, il dominio deve diventare "giepr"
  • sul server samba non ci sono ovviamente gli account delle workstation
  • i gruppi sul server samba saranno del tutto diversi da quelli del server NT (occorrera` rimettere gli utenti nei gruppi)

Scopo

Concettualmente l'idea e` di rendere il server samba un PDC, tenendo gli utenti che ci sono ora o eventualmente sovrascrivendoli con quelli del server NT, perche` i nomi di utente coincidono. nota: gli utenti devono tenere lo stesso SID nella migrazione? credo di si` Occorre vedere come si puo` fare a vampirare gli utenti per tenere il SID, tuttavia e` chiaro che cose come la logon home invece non vanno tenute. in un paragrafo dell'howto dice che per migrare gli utenti e` meglio passare da tbdsam a smbpasswd e ritorno, cosa che strippa tutte le informazioni del dominio... e i SID? Chiedere in lista.

  • Il SID del dominio cosi` come gli account di macchina, che al momento su samba non ci sono, dovrebbero essere mantenuti in modo da evitare assolutamente di dover togliere e rimettere le macchine nel dominio. Questo e` fondamentale.
  • I gruppi vanno rifatti in toto, quindi la migrazione dei gruppi sarebbe meglio non farla proprio.
  • Share e stampanti vanno rifatti in toto.
  • I login script vanno cambiati
  • Il server WINS deve passare dall' NT al Samba al momento in cui anche il PDC passa.

Migrazione utenti e machine account

Per migrare i dati di utenti e macchine, mantenendo i SID dell' NT e rifacendo pero` i gruppi, occorre poter vampirare i dati dal server NT su una macchina temporanea con samba, poi modificarli, e caricarli sul server samba definitivo. Per fare questo si puo` tentare di usare la conversione da tdbsam a xmlsam, poi si edita il file XML a mano, e poi si riconverte indietro. Questo dovrebbe permettere di:

  • tenere i SID degli utenti
  • tenere i SID degli account macchina
  • non importare i gruppi fra il server di appoggio dal quale si vampira e il server di produzione su cui si carica la roba alla fine.
  • verificare facilmente se ci sono nomi utente o macchina che non vanno bene per gli standard di samba.

Gli utenti lato linux ci sono gia`, e devono mantenere gli UID che hanno ora, per cui non li copio dal server di migrazione a quello di produzione. Ovviamente eventuali utenti che non ci siano possono essere creati senza vincoli di UID.

Gli account di macchina vanno creati, ma alla peggio si tratta di copiaincollare un pezzo di /etc/passwd e di /etc/shadow dal linux che vampira a quello di produzione.

E` importante che il SID del dominio sul server di produzione sia uguale a quell' dell NT. Vediamo come si puo` fare.

E` importante che i SID per i gruppi di base (domain admins, domain users) siano coerenti con quelli dell' NT???

Comandi per esportare/importare i dati da tdbsam a xml: (This module requires libxml2 to be installed)

$ 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 e` /usr/lib/samba/pdb/xml.so, ed e` disponibile qui: attachment:xml.so

Cambio WINS

Per cambiare il WINS server e` sufficiente inserire in smb.conf wins server = yes e modificare il server DHCP in modo che dia ai client il nuovo server WINS al posto del vecchio. Per verificare che cosa viene registrato nel wins, e` utile leggere (volendo editare anche) il file /var/lib/samba/wins.dat che e` in testo.


Checklist per eseguire il 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! Questo significa che durante questa operazione e fino a che non si sono stabilizzate le cose i client danno i numeri di brutto!

  • Salvare le configurazioni
    • copiare /etc/passwd, /etc/group, /etc/shadow, e tutti i files di /var/lib/samba
    • copiare i files in /var/spool/samba
  • Mappare i gruppi di base (domain admins, domain users, domain guests)
    • creare il gruppo ntadmins
    • usare i comandi net groupmap modify per mappare almeno i tre succitati gruppi

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
  • Joinarsi al dominio come BDC
    • mettere domain master=no

    • mettere il dominio giusto in smb.conf
    • Lanciare samba
    • usare il comando net rpc join -S sntgiepr01 -W GIEPR -UAdministrator%password per joinare il dominio

    • Volendo, usare il comando net rpc samdump -S sntgiepr01 -W GIEPR -UAdministrator%password > filename per dumpare su un file tutti i dati degli utenti e gruppi del server NT. Non e` necessario, ma aiuta poi a capire cosa c'e` che non va, nel caso.

    • Operazioni di pulizia dei gruppi (probabilmente inutili)
      • Fermare samba, rinominare il file /var/lib/samba/group_mapping.tdb, eseguire net groupmap list per verificare se i gruppi sono tutti non mappati

      • Rieseguire la mappatura di base dei gruppi. Notare se i SID dei gruppi contengono i valori propri del dominio NT che stiamo migrando.
    • usare il comando net rpc vampire -S oldnt4pdc -U Administrator%password > vam.log 2>errori_vamp.log per vampirare loggando.

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. 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` lo aggiunge al gruppo indicato, ma lo rimuove da quelli in cui era prima, cosa che non dovrebbe fare. 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.

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`.

Checklist per diventare 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.

  • Provare con pdbedit -L -v se a naso i SID sono quelli giusti (cioe` parte del dominio interessato alla migrazione)

  • Pulire i files /etc/passwd ed /etc/group
    • Verificare se in /etc/passwd sono stati creati gli utenti
      • Se gli utenti erano tutti gia` presenti, non dovrebbero essere stati creati ex-novo
      • Se qualche utente e` stato aggiunto, verificare che sia a posto e che magari non sia obsoleto e da cancellare.
    • Verificare se in /etc/passwd sono state creati gli account di macchina e sono giusti come gruppo e home.
    • Nota che in /etc/shadow gli utenti aggiunti ex-novo hanno "!" al posto di "*" come password disattivata. Aiuta a capire quali sono nuovi.
    • Editare /etc/group ed eliminare tutti i gruppi inutili. Occhio al gruppo "Users" che viene creato e che ovviamente non e` "users" standard. Eliminarlo senza pieta`.
    • Se si eliminano utenti, magari farlo con userdel -r per fare secche le home (controlla prima che non puntino a qualcosa che sia pericoloso!) e le entry in shadow.

  • Sistemare i nuovi gruppi
    • Aggiungere root al gruppo ntadmins in /etc/group
    • modificare l'account di root con pdbedit per dargli il primary group SID 512 (domain admins) pdbedit root -r -G="S-1-5-21-610474926-686117454-311576647-512"

    • verificare con pdbedit se gli utenti sono stati messi correttamente tutti con il primary group SID 513 (domain users)
    • editare /etc/group, magari prendendo pezzi dal backup, per rimettere a posto i gruppi che c'erano prima. Probabilmente con un minimo di occhio si puo` riprendere il backup senza stare tanto a copiaincollare.
    • Pulire il group mapping di samba a colpi di net groupmap delete ntgroup="nome gruppo" eliminando tutti i gruppi vecchi.

    • Aggiungere i gruppi nuovi con net groupmap add ntgroup="groupname" unixgroup=groupname type=d (non e` chiaro se serva, dal momento che non c'e` nulla da mappare se i nomi dei gruppi sono uguali)

  • Modificare smb.conf mettendo domain master=yes e wins support = yes, e levando wins server = 10.0.0.251

  • Modificare il server DHCP per riflettere la modifica al WINS SERVER.
  • Lanciare samba

Checklist per il test del nuovo PDC

  • eventualmente tracciare il traffico con tethereal sul server per avere una visione piu` chiara.
  • Tentare con un client di fare logon al dominio con diversi utenti, anche utenti che non si siano mai loggati da quel client
  • verificare empiricamente se i permessi di accesso ai profili locali sul client sono ancora al loro posto
  • dal client eseguire qualche net user <username> /domain per vedere se i dati dell'utente (e la mappatura dei gruppi) vengono letti bene dal nuovo PDC.

  • provare a joinare un nuovo client al dominio e vedere se funziona.


Cose da verificare

  • Ci sono nomi di utenti o nomi di macchine con uno spazio in mezzo?
  • Ci sono nomi di utenti piu` lunghi di 8 caratteri?
  • Ci sono nomi di macchine piu` lunghi di 16 caratteri?
  • Ci sono caratteri strani nei nomi di macchina o di utente? Quali?

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