SMB - Samba

Rafa Morales 13 Septiembre 2013
4min
0
Linux

SAMBA o SMB (Server Message Block) es un sistema de archivos distribuido para un entorno de red de área local que permite compartir carpetas e impresoras con sistemas Windows. Aunque el sistema de seguridad no es tan bueno como se debería de esperar de un servicio de red.

 

Configuración del servidor

Instalaremos los siguientes paquetes:

apt-get install samba

Samba realiza una gestión de usuarios independiente del sistema operativo, por lo que necesitamos dar de alta a los usuarios que necesitamos que accedan a las diferentes carpetas compartidas.

smbpasswd –opcion usuario

Donde:

-a: Añade un usuario.

-x: Elimina un usuario.

-d: Deshabilita un usuario.

-e: Habilita un usuario.

-n: Establece la contraseña a NULL.

 

/etc/samba/smb.conf

En este fichero se encuentra toda la configuración de Samba, incluidos los directorios e impresoras compartidas. Enumeramos a continuación las opciones más comunes.

Para establecer el grupo de trabajo al igual que en las redes Windows:

workgroup = GRUPO_TRABAJO

Para establecer el nombre del servidor que se muestra por red:

server string = %h Server (Samba, Ubuntu)

Para forzar que cada usuario de Samba posea una cuenta en el sistema:

security = user

Para compartir un directorio:

[publico]
path = /publico
browseable = yes
read only = yes
writeable = no
guest ok = no
public = no
valid users = juan, pepe, @administrativos

Donde:

path es la ruta del directorio.

browseable indica si se puede explorar el recurso.

read only especifica si es de solo lectura.

writeable si podemos modificar su contenido.

guest ok si se permite el acceso a usuarios anónimos.

public si es de acceso público.

valid users indica qué usuarios y grupos (antecedidos por @) pueden acceder al recurso.

create mask y directory mask para especificar los permisos por defecto de los archivos y directorios creados.

force user y force group para especificar los propietarios por defecto de los archivos y directorios creados.

 

Hay que tener cuidado al especificar algunos de los parámetros anteriores, ya que se pueden contradecir entre ellos, por ejemplo, no podríamos poner en ningún momento la siguiente configuración:

read only = yes
writeable = yes

 

Para comprobar que la sintaxis del fichero de configuración es correcta:

testparm

 

Para que los cambios surjan efecto reiniciamos el servicio:

/etc/init.d/samba restart
service samba restart

 

Para comprobar las conexiones actuales a nuestro servidor, podemos ejecutar el siguiente comando:

smbstatus -b

 

Configuración del cliente

Para instalar los paquetes del cliente Samba:

apt-get install smbclient

El primer paso será conectarse al servidor para ver el listado de recursos disponibles.

smbclient –L \\\\192.168.0.5 -U usuario

Si lo que queremos es conectarnos directamente a un recurso, utilizaremos:

smbclient \\\\192.168.0.5\\compartido -U usuario

Una vez conectados, utilizaremos los mismos comandos que cuando nos conectamos remotamente por FTP: cd, md, del, mput, mget, etc.

Podemos montar el recurso compartido en nuestro sistema de archivos de la siguiente manera:

mount –t cifs –o user=usuario,pass=clave //192.168.0.5/pub /mnt/dir
mount –t cifs –o user=usuario@dominio.local,pass=clave //192.168.0.5/pub /mnt/dir

Y si queremos montar de manera permanente el recurso, editamos el fichero /etc/fstab:

//192.168.0.5/pub /mnt/win cifs rw,username=usuario,password=clave 0 0

 

Si intentamos conectarnos desde una máquina Windows podemos encontrarnos algo de dificultades si ésta se encuentra incluida en un Dominio y nuestro equipo Linux no. Podemos eliminar los recursos de red montados en Windows con la siguiente orden desde línea de comandos:

net use \\192.168.0.1\user /delete