Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con Linux o Mac actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio, como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autenticar con su propio archivo de usuarios.
Samba fue desarrollado originalmente para Unix por Andrew Tridgell utilizando un sniffer o capturador de tráfico para entender el protocolo a través de la ingeniería inversa. El nombre viene de insertar dos vocales al protocolo estándar que Microsoft usa para sus redes, el SMB o server message block.
En un principio, Samba tomó el nombre de smbserver pero tuvieron que cambiarlo por problemas con una marca registrada. Tridgell buscó en el diccionario de su máquina Unix alguna palabra que incluyera las letras “s”, “m” y “b” con la orden grep hasta que dio con Samba.
Samba configura directorios Unix-Linux (incluyendo sus subdirectorios) como recursos para compartir a través de la red. Para los usuarios de Microsoft Windows, estos recursos aparecen como carpetas normales de red. Los usuarios de Linux pueden montar en sus sistemas de archivos estás unidades de red como si fueran dispositivos locales, o utilizar la orden smbclient para conectarse a ellas muy al estilo del cliente de la línea de órdenes ftp. Cada directorio puede tener diferentes permisos de acceso sobrepuestos a las protecciones del sistema de archivos que se esté usando en Linux. Por ejemplo, las carpetas home pueden tener permisos de lectura y escritura para cada usuario, permitiendo que cada uno acceda a sus propios archivos; sin embargo, deberemos cambiar los permisos de los archivos localmente para dejar al resto ver nuestros archivos, ya que con dar permisos de escritura en el recurso no será suficiente.
En este caso la instalacion sera en una red de hogar con un grupo de trabajo.
Para llevar a cabo la instalacion se necesitaran los siguientes paquetes:
samba
samba-client
samba-commonPara la configuración en Windows sólo hay que tener en cuenta el nombre del grupo de trabajo y el nombre de cada equipo en la red.
Comenzamos instalando Samba en Debian, Abrimos la terminal como root, colocamos:
apt-get install samba smbfs samba-common samba-client
Editamos el fichero de configuración de samba en la siguiente ruta:
vim /etc/samba/smb.conf
Buscamos la linea que dice
workgroup = MSHOME, y la cambiamos por:
workgroup = nombre del grupo de trabajo el nombre de nuestro grupo de trabajo deberá ser el mismo que usamos en la red de Windows.
Guardamos cambios y salimos.
Antes de crear los usuarios de Samba, deberemos crearlos en nuestro Debian.
adduser nesalpa Después creamos el usuario para Samba:
smbpasswd -a nesalpa el usuario deberá ser el mismo el cual creamos en Grupos y Usuarios en Debian.
Pedirá la contraseña a utilizar, en donde también pondremos la misma del usuario que creamos en Debian, y pedirá finalmente repetir la contraseña.
Crearemos otro archivo con la lista de los usuarios:
vim /etc/samba/smbusers Ahí, agregaremos lo siguiente: usuario debian = equipo windows
usuario debian se refiere al usuario que acabamos de crear, equipo winodws se refiere al nombre del equipo con windows con el que deseamos compartir.
Volveremos a editar samba.conf: vim /etc/samba/smb.conf
Buscamos la linea que dice:
;
security = userY le quitamos el ;
Además, en una siguiente linea agregamos lo siguiente:
username map = /etc/samba/smbusersDeberá quedar así:
security = user
username map = /etc/samba/smbusers
Con esto estamos diciéndole a Samba que vamos a autentificar por usuario y donde está la lista de los usuarios permitidos.
Ahora, para compartir archivos, deberemos dar persmisos al directorio de usuarios de samba. Para esto, tecleamos en la terminal de root lo siguiente:
chmod 777 /var/lib/samba/usershares Y por último sólo queda elegir los directorios que deseamos compartir.
Para dar acceso a los usuario a los directorios
home o personales, hacemos lo siguiente editamos
vim /etc/samba/smbusers [homes]
comment = Home Directories;
browseable = no
valid users = %S
writable = no
Quitamos el ";" para descomentarlos, y en
writable cambiamos "
no" por "
yes" para que el usuario pueda escribir en el directorio.
En servicios de red de nuestro Debian, podremos acceder a la red de Windows y en Mis sitios de red de Windows, se podrá acceder a los directorios que seleccionamos para compartir en Debian.