Samba come Primary Domain Controller
Prima di tutto, per sapere come configurare un PDC, dobbiamo sapere cos'è un Primary Domain Controller in una rete SMB (chiamata anche NetBIOS).
Cos'è un PDC in una rete SMB o NetBIOS
Un PDC è un computer che si occupa di varie cose:
- Per gli utenti Windows 95/98/NT: solo l'autenticazione centralizzata (sul server appunto), e server WINS.
- Per gli utenti Windows 2000/XP/2003: autenticazione centralizzata, memorizzazione preferenze e documenti personalizzati.
Quindi un Primary Domain Controller si occupa principalmente di autenticare le richieste di nome utente e password dai clients ed, eventualmente, memorizzare preferenze e documenti.
Vantaggi e svantaggi nell'uso del PDC
Un Controllore Primario di Dominio è sottoposto ad un carico abbastanza elevato, sopratutto quando il numero di PC è superiore a 7-8. Ci vuole quindi un server abbastanza potente.
Un PDC permette di gestire il database degli utenti in modo centralizzato: quindi, in caso di guasto del server, i client potrebbero non funzionare correttamente. L'ideale sarebbe avere un BDC, un Backup Domain Controller, oppure un sistema di Cluster. E' vero anche che, essendo tutti gli utenti su un solo sistema, risulta più facile gestirli quando si tratta (ad esempio) di un'azienda con molti PC e molti dipendenti.
Requisiti di sistema
Il software necessario è il seguente:
Niente di più
Facciamo partire l'installazione con:
apt-get install samba samba-common smbclient winbind
Configurazione di samba
Vi posto la mia configurazione commentata, cosí potete copiarla e modificarla secondo le vostre esigenze:
[global]
# Questo in realta' e' il dominio
workgroup = CASA2
# Descrizione del server
server string = support
# Nome NetBIOS del server
netbios name = support
# Supporto per il WINS: consigliato in caso di PDC
wins support = yes
# Libera scelta: usare il DNS per risolvere i nomi host
dns proxy = no
# Opzioni per i log:
log file = /var/log/samba.log
log level = 2
max log size = 1000
syslog = 0
# Utente amministratore (puo' anche non essere root)
admin users = root
# Modello di sicurezza "per utente"
security = user
# Utilizza per gli accessi non autenticati
guest account = nobody
# Crittazione PW
encrypt passwords = true
# Programma gestione PW (lasciare cosi' se non si sa cosa si fa)
passdb backend = tdbsam
# Usa le restrizioni PAM
obey pam restrictions = yes
# Utenti non validi per l'accesso e autenticazione al dominio
invalid users =
# Sincronizzare le password di Samba con quelle di Linux/Unix (attenzione: funziona solo
# da samba verso unix, ovvero se cambi le pw con samba lui pensa a cambiarle anche per unix)
unix password sync = yes
# Programma di cambio password per UNIX con il "testo di chat" e altre opzioni
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
map to guest = Bad Password
password level = 0
# Script per aggiungere/cancellare l'utente/la macchina
add user script = /usr/sbin/useradd -m '%u' -g smbusers -G smbusers
delete user script = /usr/sbin/userdel -r '%u'
add group script = /usr/sbin/groupadd '%g'
delete group script = /usr/sbin/groupdel '%g'
add user to group script = /usr/sbin/usermod -G '%g' '%u'
add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody '%u' -g machines
# Ecco questi sono i percorsi che potete indicare per fare in modo che i clients Windows NT > 5.0 (2000, Xp, 2003, ecc)
# prendano le impostazioni dei profili e i documenti
# Si possono omettere
logon path =
logon home =
# Questo abilita samba ad essere un PDC
domain logons = Yes
# Livello PDC
os level = 64
# Master preferito?
preferred master = Yes
# Master dominio?
domain master = Yes
# Script di avvio eseguito dal client (puo' essere .BAT (dos batch) oppure Visual Basic Scripting)
logon script =
# Agente di stampa
printcap name = cups
printing = cups
load printers = yes
# Opzione che DOVREBBE aumentare la velocita'
socket options = TCP_NODELAY
# Server sincronizzazione orario per windows? (net time \\sambaserver /SET /Y)
time server = yes
# Condivisione drivers stampanti
[print$]
comment = drivers
path = /var/lib/samba/printers/
browseable = yes
guest ok = no
read only = yes
# Questo abilita il gruppo admin (notare la @ davanti per gruppo) ad usare questa condivisione
write list = @admin
[printers]
#Condivisione di Windows per le stampanti
comment = Printers
browseable = no
path = /var/spool/samba
printable = yes
public = no
writable = no
guest ok = no
printer admin = @admin
[netlogon]
# Condivisione usata da Windows per gli script e dati di logon
path = /home/samba/netlogon
public = no
writeable = no
browsable = no
# Qui e' necessario specificare gli utenti/il gruppo che puo' accedere al dominio
valid users = @smbusers
Operazioni da eseguire per creare un login sul PDC
Ora creiamo il gruppo Macchine (da eseguire una sola volta):
groupadd machines
Ora per aggiungere una macchina basterá dare il comando:
useradd -g machines -d /dev/null -s /bin/false nomeNetBios$
Mi raccomando deve finire con il simbolo del dollaro $. Quindi ora diciamo a samba che è roba sua:
passwd -l nomeNetBios$
smbpasswd -a -m nomeNetBios
Creiamo quindi il gruppo smbusers (da eseguire una sola volta):
groupadd smbusers
Ora per aggiungere un utente basta fare:
adduser pippo
adduser pippo smbusers
smbpasswd -a pippo
A questo punto il vostro PDC è pronto!
Guida in completamento, alcune cose potrebbero non essere esatte
|