Page 1
Fileserver con SAMBA e WindowsIntegrazione conMicrosoft Active Directory
Emiliano Vavassori
BGlug— Bergamo Linux User GroupCircoscrizione n° 2, Largo Röntgen n° 3
24128 Bergamo
23 ottobre 2010— LinuxDay 2010
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 1 / 17
Page 2
Premessa
Tutto il materiale qui riportato è disponibile a questo indirizzo:
http://tinyurl.com/ld10-samba
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 2 / 17
Page 3
Lightning Talk?
Richiesta «passiva» sul sito del BGlug
Limitazione nell’obiettivo
Livello tecnico abbastanza alto
Procedura di setup di meno di mezz’ora (compresi test)
Poco tempo per la preparazione del talk O:-)
Un piccolo dubbio mi assale. . . Esaustivo?Non si può fare un lightning talk su Active Directory in senso stretto.Ci vorrebbe una giornata intera.
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 3 / 17
Page 4
Lightning Talk?
Richiesta «passiva» sul sito del BGlug
Limitazione nell’obiettivo
Livello tecnico abbastanza alto
Procedura di setup di meno di mezz’ora (compresi test)
Poco tempo per la preparazione del talk O:-)
Un piccolo dubbio mi assale. . . Esaustivo?Non si può fare un lightning talk su Active Directory in senso stretto.Ci vorrebbe una giornata intera.
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 3 / 17
Page 5
Lightning Talk?
Richiesta «passiva» sul sito del BGlug
Limitazione nell’obiettivo
Livello tecnico abbastanza alto
Procedura di setup di meno di mezz’ora (compresi test)
Poco tempo per la preparazione del talk O:-)
Un piccolo dubbio mi assale. . . Esaustivo?Non si può fare un lightning talk su Active Directory in senso stretto.Ci vorrebbe una giornata intera.
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 3 / 17
Page 6
Lightning Talk?
Richiesta «passiva» sul sito del BGlug
Limitazione nell’obiettivo
Livello tecnico abbastanza alto
Procedura di setup di meno di mezz’ora (compresi test)
Poco tempo per la preparazione del talk O:-)
Un piccolo dubbio mi assale. . . Esaustivo?Non si può fare un lightning talk su Active Directory in senso stretto.Ci vorrebbe una giornata intera.
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 3 / 17
Page 7
Lightning Talk?
Richiesta «passiva» sul sito del BGlug
Limitazione nell’obiettivo
Livello tecnico abbastanza alto
Procedura di setup di meno di mezz’ora (compresi test)
Poco tempo per la preparazione del talk O:-)
Un piccolo dubbio mi assale. . . Esaustivo?Non si può fare un lightning talk su Active Directory in senso stretto.Ci vorrebbe una giornata intera.
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 3 / 17
Page 8
Lightning Talk?
Richiesta «passiva» sul sito del BGlug
Limitazione nell’obiettivo
Livello tecnico abbastanza alto
Procedura di setup di meno di mezz’ora (compresi test)
Poco tempo per la preparazione del talk O:-)
Un piccolo dubbio mi assale. . . Esaustivo?Non si può fare un lightning talk su Active Directory in senso stretto.Ci vorrebbe una giornata intera.
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 3 / 17
Page 9
Obiettivo
Creare un file server integrato con una struttura Active Directorypreesistente.
Integrato con Active Directory
Gli utenti saranno in grado di accedere ai documenti condivisisenza ulteriori autenticazioni da macchine di dominio con utenze didominio.
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 4 / 17
Page 10
Obiettivo
Creare un file server integrato con una struttura Active Directorypreesistente.
Integrato con Active Directory
Gli utenti saranno in grado di accedere ai documenti condivisisenza ulteriori autenticazioni da macchine di dominio con utenze didominio.
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 4 / 17
Page 11
0.0— Struttura della rete
Domain Controller —Windows 2003 Server10.0.0.1 testdc.domain.local
File Server — Debian 5.0 «Lenny»10.0.0.100 linuxfs.domain.local
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 5 / 17
Page 12
0.1 — Indirizzi del �leserver
Prima di partire, conviene veri�care l’indirizzo di rete:
# ip address show eth0
Veri�care il Fully Qualified Domain Name (FQDN):
Estratto: /etc/hosts10.0.0.100 linuxfs.domain.local linuxfs \localhost.localdomain localhost
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 6 / 17
Page 13
0.1 — Indirizzi del �leserver
Prima di partire, conviene veri�care l’indirizzo di rete:
# ip address show eth0
Veri�care il Fully Qualified Domain Name (FQDN):
Estratto: /etc/hosts10.0.0.100 linuxfs.domain.local linuxfs \localhost.localdomain localhost
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 6 / 17
Page 14
0.2 — Indirizzi del domain controller
Veri�care DNS primario e dominio:
Estratto: /etc/resolv.confnameserver 10.0.0.1search domain.localdomain domain.local
Veri�care comunicazione e risoluzione nomi:
$ ping 10.0.0.1
$ ping testdc.domain.local
$ ping testdc
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 7 / 17
Page 15
0.2 — Indirizzi del domain controller
Veri�care DNS primario e dominio:
Estratto: /etc/resolv.confnameserver 10.0.0.1search domain.localdomain domain.local
Veri�care comunicazione e risoluzione nomi:
$ ping 10.0.0.1
$ ping testdc.domain.local
$ ping testdc
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 7 / 17
Page 16
1 — Installazione pacchetti necessari
# aptitude install openntpd ntpdate krb5-usersamba winbind smbclient
Opzionalmente:
# aptitude install smbfs
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 8 / 17
Page 17
1 — Installazione pacchetti necessari
# aptitude install openntpd ntpdate krb5-usersamba winbind smbclient
Opzionalmente:
# aptitude install smbfs
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 8 / 17
Page 18
2— Con�gurazione NTP
Fermiamo il servizio:
# /etc/init.d/openntpd stop
Estratto: /etc/openntpd/ntpd.confserver testdc.domain.local
Impostiamo l’ora. . .
# ntpdate testdc.domain.local
. . . e riavviamo il servizio:
# /etc/init.d/openntpd start
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 9 / 17
Page 19
2— Con�gurazione NTP
Fermiamo il servizio:
# /etc/init.d/openntpd stop
Estratto: /etc/openntpd/ntpd.confserver testdc.domain.local
Impostiamo l’ora. . .
# ntpdate testdc.domain.local
. . . e riavviamo il servizio:
# /etc/init.d/openntpd start
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 9 / 17
Page 20
2— Con�gurazione NTP
Fermiamo il servizio:
# /etc/init.d/openntpd stop
Estratto: /etc/openntpd/ntpd.confserver testdc.domain.local
Impostiamo l’ora. . .
# ntpdate testdc.domain.local
. . . e riavviamo il servizio:
# /etc/init.d/openntpd start
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 9 / 17
Page 21
2— Con�gurazione NTP
Fermiamo il servizio:
# /etc/init.d/openntpd stop
Estratto: /etc/openntpd/ntpd.confserver testdc.domain.local
Impostiamo l’ora. . .
# ntpdate testdc.domain.local
. . . e riavviamo il servizio:
# /etc/init.d/openntpd start
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 9 / 17
Page 22
3— Con�gurazione Kerberos
Estratto: /etc/krb5.conf[libdefaults]default_realm = DOMAIN.LOCAL...[realms]DOMAIN.LOCAL = {kdc = testdc.domain.localadmin_server = testdc.domain.local
}...[domain_realm].domain.local = DOMAIN.LOCALdomain.local = DOMAIN.LOCAL
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 10 / 17
Page 23
4.0— Con�gurazione SAMBA: generale
Estratto: /etc/samba/smb.conf[global]workgroup = DOMAINrealm = DOMAIN.LOCALwins server = 10.0.0.1security = adspassword server = testdc.domain.localobey pam restrictions = yesunix password sync = yeswinbind separator = +winbind use default domain = yes
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 11 / 17
Page 24
4.0— Con�gurazione SAMBA: generale
Estratto: /etc/samba/smb.conf[global]workgroup = DOMAINrealm = DOMAIN.LOCALwins server = 10.0.0.1security = adspassword server = testdc.domain.localobey pam restrictions = yesunix password sync = yeswinbind separator = +winbind use default domain = yes
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 11 / 17
Page 25
4.1 — Con�gurazione SAMBA: condivisioni
Estratto: /etc/samba/smb.conf[shared]comment = ...path = /var/local/sharedvalid users = %Ubrowseable = yeswritable = yesguest ok = noread only = nocreate mask = 0664directory mask = 0775
In�ne testiamo il �le:
# testparm
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 12 / 17
Page 26
4.1 — Con�gurazione SAMBA: condivisioni
Estratto: /etc/samba/smb.conf[shared]comment = ...path = /var/local/sharedvalid users = %Ubrowseable = yeswritable = yesguest ok = noread only = nocreate mask = 0664directory mask = 0775
In�ne testiamo il �le:
# testparm
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 12 / 17
Page 27
4.1 — Con�gurazione SAMBA: condivisioni
Estratto: /etc/samba/smb.conf[shared]comment = ...path = /var/local/sharedvalid users = %Ubrowseable = yeswritable = yesguest ok = noread only = nocreate mask = 0664directory mask = 0775
In�ne testiamo il �le:
# testparm
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 12 / 17
Page 28
4.1 — Con�gurazione SAMBA: condivisioni
Estratto: /etc/samba/smb.conf[shared]comment = ...path = /var/local/sharedvalid users = %Ubrowseable = yeswritable = yesguest ok = noread only = nocreate mask = 0664directory mask = 0775
In�ne testiamo il �le:
# testparm
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 12 / 17
Page 29
5—Messa in dominio
Riavviamo i servizi:
# /etc/init.d/samba restart
# /etc/init.d/winbind restart
Veri�chiamo che Kerberos funzioni:
# kinit -a administrator
Messa in dominio:
# net ads join -U Administrator
Veri�chiamo che si riesca ad accedere alle informazioni di dominio:
# wbinfo -u
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 13 / 17
Page 30
5—Messa in dominio
Riavviamo i servizi:
# /etc/init.d/samba restart
# /etc/init.d/winbind restart
Veri�chiamo che Kerberos funzioni:
# kinit -a administrator
Messa in dominio:
# net ads join -U Administrator
Veri�chiamo che si riesca ad accedere alle informazioni di dominio:
# wbinfo -u
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 13 / 17
Page 31
5—Messa in dominio
Riavviamo i servizi:
# /etc/init.d/samba restart
# /etc/init.d/winbind restart
Veri�chiamo che Kerberos funzioni:
# kinit -a administrator
Messa in dominio:
# net ads join -U Administrator
Veri�chiamo che si riesca ad accedere alle informazioni di dominio:
# wbinfo -u
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 13 / 17
Page 32
5—Messa in dominio
Riavviamo i servizi:
# /etc/init.d/samba restart
# /etc/init.d/winbind restart
Veri�chiamo che Kerberos funzioni:
# kinit -a administrator
Messa in dominio:
# net ads join -U Administrator
Veri�chiamo che si riesca ad accedere alle informazioni di dominio:
# wbinfo -u
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 13 / 17
Page 33
Un cadeau
Possiamo «importare» magicamente gruppi e utenze all’internodella macchina Linux aggiungendo:
Estratto: /etc/nsswitch.confpasswd: compat winbindpasswd_compat: winbindgroup: compat winbindgroup_compat: winbindshadow: compat winbind
Sarà ora possibile attribuire i permessi a intere cartelle come:
# chown -R root:’domain users’ /var/local/shared
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 14 / 17
Page 34
Un cadeau
Possiamo «importare» magicamente gruppi e utenze all’internodella macchina Linux aggiungendo:
Estratto: /etc/nsswitch.confpasswd: compat winbindpasswd_compat: winbindgroup: compat winbindgroup_compat: winbindshadow: compat winbind
Sarà ora possibile attribuire i permessi a intere cartelle come:
# chown -R root:’domain users’ /var/local/shared
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 14 / 17
Page 35
Difetti d’implementazione
Non utilizza Heimdal Kerberos (se necessario LDAP, dapreferire)
Incompatibilità con sistemiMicrosoft più moderni: Windows 7,Windows 2008 Server.
Soluzione— Samba 3.4 da Lenny Backports
L’implementazione attuale non permette il login sul �le serverdi utenze di dominio (necessario con�gurare PAM)
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 15 / 17
Page 36
Difetti d’implementazione
Non utilizza Heimdal Kerberos (se necessario LDAP, dapreferire)
Incompatibilità con sistemiMicrosoft più moderni: Windows 7,Windows 2008 Server.
Soluzione— Samba 3.4 da Lenny Backports
L’implementazione attuale non permette il login sul �le serverdi utenze di dominio (necessario con�gurare PAM)
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 15 / 17
Page 37
Difetti d’implementazione
Non utilizza Heimdal Kerberos (se necessario LDAP, dapreferire)
Incompatibilità con sistemiMicrosoft più moderni: Windows 7,Windows 2008 Server.Soluzione— Samba 3.4 da Lenny Backports
L’implementazione attuale non permette il login sul �le serverdi utenze di dominio (necessario con�gurare PAM)
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 15 / 17
Page 38
Difetti d’implementazione
Non utilizza Heimdal Kerberos (se necessario LDAP, dapreferire)
Incompatibilità con sistemiMicrosoft più moderni: Windows 7,Windows 2008 Server.Soluzione— Samba 3.4 da Lenny Backports
L’implementazione attuale non permette il login sul �le serverdi utenze di dominio (necessario con�gurare PAM)
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 15 / 17
Page 39
Cosa possiamo fare ora?
A partire da quanto messo a punto ora possiamo implementare:
un proxy autenticato (Squid + auth_ntlm)
un domain controller Linux-based (LDAP)
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 16 / 17
Page 40
Cosa possiamo fare ora?
A partire da quanto messo a punto ora possiamo implementare:
un proxy autenticato (Squid + auth_ntlm)
un domain controller Linux-based (LDAP)
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 16 / 17
Page 41
Sitogra�a
I The SAMBA TeamThe Official Samba 3.5.x HOWTO and Reference Guidehttp://tinyurl.com/samba-howto
I Blog di Jake SurlyPost: Join Debian Lenny to Active Directory using Sambahttp://tinyurl.com/samba-adjoin
I Guide DebianizzatiSamba e OpenLDAP: creare un controller di dominio con DebianLennyhttp://tinyurl.com/deb-dc
I Guide DebianizzatiSamba, OpenLDAP, Kerberos: creare un controller di dominio sicurocon Debian Lennyhttp://tinyurl.com/deb-secure-dc
E. Vavassori (BGlug) — LD10 (BGlug) Linux, Samba e AD 17 / 17