Integrare Samba con Active Directory

Accedere a una condivisione Samba

Un altro uso di Samba consiste nell'integrarlo all'interno di una rete Windows esistente. Una volta parte di un dominio Active Directory, Samba può fornire servizi di file e stampa agli utenti AD.

Il metodo più facile per unirsi in un dominio AD consiste nell'usare Likewise-open. Per maggiori informazioni, consultare la sezione chiamata «Likewise Open».

Una volta parte del dominio, installare i seguenti pacchetti:

sudo apt-get install samba smbfs smbclient

Dato che i pacchetti likewise-open e samba utilizzano file secrets.tdb separati, è necessario creare un collegamento simbolico in /var/lib/samba:

sudo mv /var/lib/samba/secrets.tdb /var/lib/samba/secrets.tdb.orig
sudo ln -s /etc/samba/secrets.tdb /var/lib/samba

Aprire il file /etc/samba/smb.conf e modificare quanto segue:

   workgroup = EXAMPLE
   ...
   security = ads
   realm = EXAMPLE.IT
   ...
   idmap backend = lwopen
   idmap uid = 50-9999999999
   idmap gid = 50-9999999999

Riavviare samba affinché le nuove impostazioni abbiano effetto:

sudo /etc/init.d/samba restart

Dovrebbe essere ora possibile accedere qualsiasi condivisione Samba da un client Windows. Assicurarsi comunque di concedere agli utenti o ai gruppi AD accesso alla directory condivisa. Per maggiori informazioni, consultare la sezione chiamata «Sicurezza di un server di file e di stampa Samba».

Accedere a una condivisione Windows

Ora che il server Samba è parte del dominio Active Directory, è possibile accedere a qualsiasi condivisione server di Windows:

  • Per montare una condivisione file di Windows, in un terminale digitare quanto segue:

    mount.cifs //fs01.example.it/share mount_point
    

    È possibile accedere alle condivisioni su computer non facenti parte del dominio AD, ma sarà necessario fornire un nome utente e una password.

  • Per montare la condivisione durante la fase di avvio, aggiungere una voce al file /etc/fstab, per esempio:

    //192.168.0.5/share /mnt/windows cifs auto,username=steve,password=secret,rw 0        0
    
  • Un altro modo per copiare i file da un server Windows consiste nell'usare l'utilità smbclient. Per elencare i file presenti in una condivisione Windows:

    smbclient //fs01.example.it/share -k -c "ls"
    
  • Per copiare un file da una condivisione, digitare:

    smbclient //fs01.example.com/share -k -c "get file.txt"
    

    In questo modo si copierà il file file.txt nella directory corrente.

  • Per copiare una file nella condivisione:

    smbclient //fs01.example.it/share -k -c "put /etc/hosts hosts"
    

    In questo modo il file /etc/hosts verrà copiato in //fs01.example.com/share/hosts.

  • L'opzione -c usata nei comandi precedenti consente di eseguire il comando smbclient in una sola volta. Questo è utile all'interno di script e per altre operazioni sui file. Per accedere al prompt smb: \>, un prompt simile a quello di FTP dove è possibile svolgere normali operazioni su file e directory, digitare:

    smbclient //fs01.example.it/share -k
    
[Nota]

Sostituire tutte le occorrenze di fs01.example.it/share, //192.168.0.5/share, username=steve,password=secret e file.txt con l'indirizzo IP del proprio server, il nome nome host, il nome della condivisione, il nome del file e il nome utente e la password dell'utente a cui è consentito accedere alla condivisione.

Risorse

Per ulteriori opzioni di smbclient, consultare la pagina man: man smbclient, disponibile anche in rete.

Anche la pagina man di mount.cifs è ricca di utili informazioni.