Questi sono i miei primi appunti sull'aggiornamento da Samba 3 (3.6.6 nello specifico) a Samba 4 (4.1.7 nello specifico). Questi appunti si riferiscono a Debian 7, ma sicuramente non ci sono differenze significative con altre distribuzioni.
L'aggiornamento da Samba 3 a Samba 4 su Debian 7 (sulla stessa macchina) e` abbastanza lineare. Questa procedura e` relativa a un test che ho fatto su una installazione di Samba 3.6.6 configurata come domain controller (con un client win7 pro come test).
Dopo aver spento tutti i client e fermato Samba, si procede come segue:
net getdomainsid > sid.txt
net groupmap list > gruppi.txt
pdbedit -L -v > utenti.txt
deb http://http.debian.net/debian wheezy-backports main
aptitude update
aptitude -t wheezy-backports install samba
Tutto dovrebbe funzionare senza problemi, in quanto Samba 4 legge i files (config e tdb) di Samba 3 senza problemi. L'unica eccezione e` che tre files tdb in samba4 sono stati spostati da /var/lib/samba a /var/lib/samba/private. Questi files sono: passdb.tdb, schannel_store.tdb e secrets.tdb. In Debian quando si installa Samba 4 come aggornamento di Samba 3 lo script di installazione si occupa di creare degli hardlink di questi tre files dentro a private.
Se ci si trova a dover aggiornare Samba dalla versione 3 alla versione 4 e contemporaneamente cambiare macchina, e` possibile farlo con un piccolo accorgimento. La procedura e` la medesima usata per spostare un domain controller Samba3 da una macchina all'altra (mantenendo Samba 3) Samba3Migration. L'unica differenza e` che nella macchina di destinazione e` necessario creare la directory "private" sotto /var/lib/samba/ e spostarci dentro tre dei files tdb che abbiamo importato da Samba3. In pratica, prima di avviare Samba 4 sulla macchina nuova, occorre eseguire:
cd /var/lib/samba mkdir private mv passdb.tdb private/ mv schannel_store.tdb private/ mv secrets.tdb private/