Samba come controller di dominio

Benché non possa funzionare come un controller di dominio primario (PDC) Active Directory, un server Samba può essere configurato per apparire come un controller di dominio in stile Windows NT4. Uno dei vantaggi di questa configurazione consiste nell'abilità di centralizzare le credenziali di utenti e computer. Samba, inoltre, può utilizzare diversi backend per archiviare le informazioni.

Controller di dominio primario (PDC)

Questa sezione spiega come configurare Samba come controller di dominio primario (PDC) usando il backend predefinito «smbpasswd».

  1. Installate Samba e libpam-smbpass per sincronizzare gli account utente, digitando il seguente comando dal prompt di terminale:

    sudo apt-get install samba libpam-smbpass
    
  2. Dopo configurate Samba modificando /etc/samba/smb.conf. La modalità security deve essere impostata a user, e il workgroup ('gruppo di lavoro') deve essere connesso correttamente all'organizzazione:

    workgroup = ESEMPIO
    ...
    security = utente
    
  3. Nella sezione commentata “Domains”, aggiungete o togliete il seguente commento:

    domain logons = yes
    logon path = \\%N\%U\profile
    logon drive = H:
    logon home = \\%N\%U
    logon script = logon.cmd
    add machine script = sudo /usr/sbin/useradd -N -g machines -c Machine -d /var/lib/samba -s /bin/false %u
    
    • domain logons: fornisce il servizio netlogon facendo in modo che Samba si comporti come un controller di dominio.

    • logon path: posiziona il profilo degli utenti Windows all'interno della loro directory home. È possibile anche configurare una condivisione [profiles] posizionando tutti i profili all'interno di una sola directory.

    • logon drive: specifica il percorso locale della directory home.

    • logon home: specifica la posizione della directory home.

    • logon script: determina quale script eseguire localmente una volta che un utente ha eseguito l'accesso. Lo script deve essere all'interno della condivisione [netlogon].

    • add machine script: uno script che crea automaticamente lo Machine Trust Account necessario per accedere al dominio.

      In questo esempio, il gruppo machines dovrà essere creato con l'utilità addgroup. Per dettagli, consultate Fondamenti.

    Note

    Se Roaming Profiles non verrà usato, lasciate le opzioni logon home e logon path con commento.

  4. Togliete il commento alla condivisione [homes] per consentire la mappatura di logon home:

    [homes]
    comment = Directory Home
    browseable = no
    read only = no
    create mask = 0700
    directory mask = 0700
    valid users = %S
    
  5. Quando viene configurato come controller di dominio, deve essere configurata una condivisione [netlogon]. Per abilitare la condivisione, togliete il commento:

    [netlogon]
    comment = Network Logon Service
    path = /srv/samba/netlogon
    guest ok = yes
    read only = yes
    share modes = no
    

    Note

    Il percorso della condivisione netlogon originale è /home/samba/netlogon ma, in base al Filesystem Hierarchy Standard (FHS), /srv è la posizione corretta per i dati specifici del sito forniti dal sistema.

  6. Create la directory netlogon e un file logon.cmd per ora vuoto:

    sudo mkdir -p /srv/samba/netlogon
    sudo touch /srv/samba/netlogon/logon.cmd
    

    Per personalizzare l'ambiente del client, in logon.cmd possono essere inseriti tutti i comandi script di accesso Windows.

  7. Essendo root disabilitato per impostazione predefinita, un gruppo di sistema, per unire una workstation al dominio, deve aver eseguito la mappatura al gruppo Domain Admins Windows. Utilizzando l'utilità net, digitare da un terminale:

    sudo net groupmap add ntgroup="Domain Admins" unixgroup=sysadmin rid=512 type=d
    

    Note

    Modificate sysadmin al gruppo preferito. L'utente utilizzato per unirsi al dominio deve essere membro del gruppo sysadmin, così come membro del gruppo di sistema admin. Il gruppo admin consente l'uso di sudo.

  8. Riavviate Samba per abilitare il nuovo controller di dominio:

    sudo /etc/init.d/samba restart
    
  9. Ora è possibile unire client Windows al dominio nello stesso modo in cui si uniscono a un dominio NT4 in esecuzione su un server Windows.

Controller di dominio di backup

Con un Primary Domain Controller (PDC, 'controller di dominio primario') sulla rete, è meglio avere anche un Backup Domain Controller (BDC, 'controller di dominio di backup'). Questo permette ai client di autenticarsi, nel caso in cui PDC divenga indisponibile.

Quando si configura Samba come BDC, ci deve essere un metodo per sincronizzare le informazioni di account col PDC. Esistono diversi metodi per realizzarla, come scp, rsync oppure usando LDAP come backend passdb.

L'uso di LDAP è il metodo più affidabile per sincronizzare le informazioni di account, dato che i entrambi i controller di dominio possono utilizzare in tempo reale le stesse informazioni. Tuttavia, configurare un server LDAP per un ridotto numero di account utente e di computer può essere abbastanza complicato. Consultate Samba la pagina LDAP per i dettagli.

  1. Installate samba e libpam-smbpass. Da un terminale digitate:

    sudo apt-get install samba libpam-smbpass
    
  2. Modificate il file /etc/samba/smb.conf e togliete il commento a quanto segue nella sezione [global]:

    workgroup = ESEMPIO
    ...
    security = utente
    
  3. Nella sezione Domains togliete il commento o aggiungete quanto segue:

    domain logons = yes
    domain master = no
    
  4. Assicuratevi che un utente abbia i permessi di lettura sui file in /var/lib/samba. Per esempio, per consentire agli utenti del gruppo admin di eseguire scp sui file, digitate:

    sudo chgrp -R admin /var/lib/samba
    
  5. Sincronizzate gli account utente usando scp per copiare la directory /var/lib/samba dal PDC:

    sudo scp -r username@pdc:/var/lib/samba /var/lib
    

    Note

    Sostituite il nome utente con un nome utente valido e pdc col nome host o l'indirizzo IP del PDC reale.

  6. Riavviate samba:

    sudo /etc/init.d/samba restart
    

Verificate che il controller Backup Domain stia lavorando fermando il demone Samba nel PDC, poi tentare di accedere a un client a Windows unito al dominio.

Se l'opzione logon home è stata configurata come directory sul PDC, e il PDC diventa indisponibile, sarà indisponibile anche l'accesso al dispositivo Home dell'utente. Per questa ragione, è meglio configurare logon home a risiedere in un server di file separato dal PDC e il BDC.

Risorse

  • Per configurazioni più dettagliate su Samba, consultate Samba HOWTO Collection

  • La guida è disponibile anche in formato cartaceo.

  • Il libro Using Samba di O'Reilly è un'altra buona lettura.

  • Il capitolo 4 di Samba HOWTO Collection spiega come configurare un Primary Domain Controller.

  • Il capitolo 5 di Samba HOWTO Collection spiega come configurare un Backup Domain Controller.