Integración de Samba con Active Directory

Acceder a un recurso compartido con Samba

Another use for Samba is to integrate into an existing Windows™ network. Once part of an Active Directory™ (AD) domain, Samba can provide file and print services to AD users.

The simplest way to join an AD domain is to use Likewise Open. For detailed instructions, see the section called “También abierto”.

Una vez que sea parte del dominio, introduzca la siguiente orden en una terminal:

sudo apt-get install samba smbfs smbclient

Since the Likewise Open and Samba packages use separate secrets.tdb files, a symlink must be created 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

Next, edit /etc/samba/smb.conf changing:

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

Restart Samba for the new settings to take effect:

sudo /etc/init.d/samba restart

It should now be possible to access any Samba shares from a Windows™ client. However, be sure to give the appropriate AD users or groups access to the share directory. See the section called “Asegurar un servidor Samba de archivos e impresión” for more details.

Acceder a recursos compartidos de Windows

Now that the Samba server is part of the Active Directory™ domain, any Windows™ server shares can be accessed:

  • To mount a Windows™ file share, enter the following in a terminal prompt:

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

    It is also possible to access shares on computers not part of an AD domain, but a username and password must be provided.

  • To mount the share during boot, place an entry in /etc/fstab. For example:

    //192.168.0.5/share /mnt/windows cifs auto,username=steve,password=secret,rw 0        0
    
  • Another way to copy files from a Windows™ server is to use the smbclient utility. To list the files in a Windows™ share:

    smbclient //fs01.example.com/share -k -c "ls"
    
  • Para copiar un archivo de un recurso compartido, escriba:

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

    This will copy the file.txt into the current directory.

  • Y para copiar un archivo al recurso compartido:

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

    This will copy the /etc/hosts to //fs01.example.com/share/hosts.

  • The -c option used above allows execution of the smbclient command all at once. This is useful for scripting and minor file operations. To enter the smb:\> prompt, an FTP-like prompt where normal file and directory commands can be executed, simply run the following in Konsole:

    smbclient //fs01.example.com/share -k
    

Note

Replace all instances of fs01.example.com/share, //192.168.0.5/share, username=steve,password=secret, and file.txt with the proper server IP, hostname, share name, file name, and an actual username and password with rights to the share.

Recursos

For more smbclient options, see the man page: man smbclient, also available online.

The mount.cifs man page is also useful for more detailed information.