Ecco una semplice implementazione di un fileserver da inserire in un dominio AD attivo.
Effettivamente l’amministrazione di SAMBA è un argomento estremamente complesso.
La complessità cresce se invece di un semplice server per workgroup si ha la necessità di inserire il server in un dominio AD.
Purtoppo la documentazione disponibile in rete è molto frammentata.
Analizzando un buon numero di esempi e sperimentando varie soluzioni ho creato questa configurazione. Nei commenti iniziali sono inserite un certo numero di istruzioni aggiuntive utili per l’amministrazione.
La distro di riferimento è CENTOS, ma dovrebbe funzionare anche su altre.
# FILESERVER SAMBA membro del dominio XXXXX.LOC
#
#
# Distro CENTOS 5.2 pacchetti di default e samba*
# Gli share sono in base agli utenti del dominio (non locali)
#
# Azioni preliminari:
#
#
# Aggiungere la macchina al dominio:
# net join -U Administrator
# (l’utente deve essere amministratore di dominio)
#
# verificare /etc/nsswitch.conf:
# passwd: files winbind
# shadow: files winbind
# group: files winbind
#
# verificare i gruppi e gli utenti:
# wbinfo -u
# wbinfo -g
#
# l’utente ed il gruppo dovrebbero essere separati dal dominio dal segno +
# grazie ai settaggi sottostanti (meglio evitare lo standard “backslash” che
# viene interpretato come escape)
#
# server01 è il controller di dominio (W2003 server)
#
[global]
workgroup = XXXXX
realm = XXXXX
server string = Fabrizio Vettore (linux)
security = ADS
password server = server01
passdb backend = tdbsam
acl compatibility = winnt
server signing = auto
printcap name = /etc/printcap
preferred master = No
domain master = No
ldap ssl = no
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/bash
winbind separator = +
winbind enum users = Yes
winbind enum groups = Yes
winbind offline logon = Yes
cups options = raw
[share per dominio XXXXX]
comment = accesso consentito agli utenti di dominio
path = /var/share
; valid users = XXXXX+fvettore
; write list = XXXXX+fvettore
valid users = “@XXXXX+domain users”
; write list = “@XXXXX+domain users”
read only = No
browseable = Yes
case sensitive = No
[share per ufficio INF]
comment = accesso riservato a sistemi informativi
path = /var/share1
; valid users = XXXXX+fvettore
; write list = XXXXX+fvettore
valid users = “@XXXXX+uff inf”
; write list = “@XXXXX+uff inf”
read only = No
browseable = Yes
case sensitive = No