guest@il_blog_di_Enrico204:/$ _  
.: Home :: Chi sono :: Attività :: HowTo :: Appunti vari :: Software :: Files :.

Samba come Primary Domain Controller

Indice:
  1. Cos'è un PDC in una rete SMB o NetBIOS
  2. Vantaggi e svantaggi nell'uso del PDC
  3. Requisiti di sistema
  4. Configurazione di samba
  5. Operazioni da eseguire per creare un login sul PDC

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:

  • Samba Server
  • WinBind

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

Tutte le "trascrizioni" sono le mie "esperienze" che ho acquisito facendo di tutto nel tempo libero.

I contenuti di questo sito sono stati prodotti da me, e possono essere ridistribuite sotto licenza Creative Commons BY-NC-ND 3.
In qualsiasi caso gradirei essere contattato...

Enrico Bassetti - Contattami
Ultimo aggiornamento: 03/07/2008

Valid XHTML 1.0 Transitional Level A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0 Creative Commons License
Attribuzione - Non Commerciale - No opere derivate 3.0 Generico