Cómo instalar Samba en Ubuntu 18.04 LTS

En esta ocasión vamos a ver cómo instalar Samba en Ubuntu 18.04 LTS Bionic Beaver paso a paso, una de las mejores formas de compartir recursos entre sistemas muy distintos, como Windows, Linux o incluso Android, ya que es un protocolo ampliamente implementado en multitud de sistemas y dispositivos.

Antes de instalar Samba en Ubuntu 18.04 LTS Bionic Beaver

Para poder seguir esta guía de instalación y configuración de Samba en Ubuntu 18.04 LTS Bionic Beaver necesitarás partir de unos requisitos mínimos:

  • Un sistema Ubuntu 18.04 LTS Bionic Beaver actualizado.
  • Acceso a consola con un usuario con permisos de sudo.
  • Conexión a Internet.

Si estás leyendo este tutorial es porque seguramente ya cumples los requerimientos, así que vamos a abrir una terminal y a teclear algunos comandos.

¡Ahorra 21,31 EUR!Bestseller No. 1 Samsung Galaxy Book4, Ordenador Portátil Ultrafino 15.6' Full HD LED, Intel Core i5-1335U, 16GB RAM, 512GB SSD, Intel Iris Xe Graphics, Windows 11 Home, Gris, Teclado QWERTY Español
¡Ahorra 100,00 EUR!Bestseller No. 2 Lenovo IdeaPad Slim 3 Gen 8 - Ordenador Portátil 15.6' FHD (Intel Core i5-12450H, 8GB RAM, 512GB SSD, Intel UHD Graphics, Sin Sistema Operativo) Gris - Teclado QWERTY Español
¡Ahorra 199,01 EUR!Bestseller No. 3 HP 15-fd0042ns - Ordenador portátil de 15.6' Full HD (i3-N305, 8GB RAM, 512GB SSD, Intel UHD Graphics, Windows 11 Home) Silver - Teclado QWERTY Español

Cómo instalar Samba en Ubuntu 18.04 LTS

Para instalar Samba en Ubuntu 18.04 LTS Bionic Beaver usaremos paquetes de la propia distribución, así que el primer paso será actualizar la información de los repositorios de Ubuntu 18.04:

~$ sudo apt update

A continuación ya podemos instalar el paquete samba con apt:

~$ sudo apt -y install samba

Los dos nuevos servicios que constituyen Samba se crean en nuestro sistema Ubuntu 18.04, smbd.service y nmbd.service, también referenciables por sus nombres cortos, smbd y nmbd.

El servicio smbd se encarga de los recursos compartidos, acceso de usuarios, etc. mientras que el servicio nmbd se encargará de los nombres de red.

Ambos servicios están activados para arrancar con el sistema y quedan en ejecución tras la instalación, como podemos comprobar com systemctl status:

~$ systemctl status smbd nmbd
● smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-14 16:05:30 CEST; 8min ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 2225 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 525)
   CGroup: /system.slice/smbd.service
           ├─2225 /usr/sbin/smbd --foreground --no-process-group
           ├─2227 /usr/sbin/smbd --foreground --no-process-group
           ├─2228 /usr/sbin/smbd --foreground --no-process-group
           └─2229 /usr/sbin/smbd --foreground --no-process-group

............... ubuntu64 systemd[1]: Starting Samba SMB Daemon...
............... ubuntu64 systemd[1]: Started Samba SMB Daemon.

● nmbd.service - Samba NMB Daemon
   Loaded: loaded (/lib/systemd/system/nmbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-14 16:05:33 CEST; 8min ago
     Docs: man:nmbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 2273 (nmbd)
   Status: "nmbd: ready to serve connections..."
    Tasks: 1 (limit: 525)
   CGroup: /system.slice/nmbd.service
           └─2273 /usr/sbin/nmbd --foreground --no-process-group

............... ubuntu64 systemd[1]: Starting Samba NMB Daemon...
............... ubuntu64 systemd[1]: Started Samba NMB Daemon.

De hecho nuestra máquina Ubuntu 18.04 ya es visible para el resto de equipos de la red local que sean capaces de comunicarse con Samba:

como instalar samba en ubuntu 18.04 lts bionic beaver

En otros sistemas los equipos de red se pueden mostrar agrupados en los distintos grupos de trabajo detectados:

instalar samba en ubuntu 18.04 lts bionic beaver

¡Ahorra 5,15 EUR!Bestseller No. 1 Acer EK241YHBIF - Monitor 24 ' Full HD 100 Hz (60 cm, 1920x1080, 16:9, 250 Nits, Tiempo de Respuesta 1 ms VRB, AMD FreeSync, Zero Frame 1xVGA, 1xHDMI 1.4) Monitor PC Color Negro
¡Ahorra 8,50 EUR!Bestseller No. 2 Philips Monitors - Monitor 243V7QDSB/00- 24', FHD, 75Hz, IPS, Flicker Free, (1920x1080, 250cd/m² VESA, DSUB, HDMI), Color Negro
¡Ahorra 70,00 EUR!Bestseller No. 3 LG 24GQ50F-B - Monitor Gaming Ultragear (Panel VA: 1920x1080p, 16:9, 250 CD/m², 3000:1, 165Hz, 1ms), entradas: DP x1, HDMI x2, AMD FreeSync Premium, Regulable en inclinación

Cómo configurar Samba en Ubuntu 18.04 LTS

Para configurar Samba en Ubuntu 18.04 LTS Bionic Beaver debemos tener en cuenta que la configuración se guarda en la ruta /etc/samba/, siendo el archivo de configuración principal smb.conf.

Cómo cambiar el nombre de la máquina

Por defecto Samba utilizará el hostname de nuestra máquina Ubuntu 18.04 como nombre de red, pero podrías cambiarlo para Samba sin modificarlo en Ubuntu.

Para ello editaremos el archivo smb.conf:

~$ sudo nano /etc/samba/smb.conf

Incluiremos la directiva netbios name dentro de la sección [global]:

netbios name = Ubuntu1804

Cómo cambiar el grupo de trabajo

Si queremos que nuestro servidor Ubuntu 18.04 aparezca en el mismo grupo de trabajo que el resto de máquinas de la red, Buscaremos la directiva workgroup:

...
# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = WORKGROUP
...

Y cambiaremos su valor por el correspondiente al grupo que deseamos configurar:

workgroup = SEVEN_KINGDOMS

Cómo cambiar la descripción del equipo

Cuando examinamos los equipos de red, según el examinador de equipos de la red que se trate, puede mostrarlos con o sin descripción, con la descripción primero y el nombre de equipo después o viceversa.

Para controlar qué aparece en esa descripción, buscaremos la directiva server string:

server string = %h server (Samba, Ubuntu)

La configuración por defecto muestra el hostname (variable %h) seguida de una pequeña descripción. Puedes cambiar el valor de toda la descripción, e incluso anularla borrando el valor asignado:

server string =

De esta forma sólo se muestra el nombre del equipo por defecto o el configurado en la directiva netbios name.

Activar los cambios en grupos, nombres y descripciones

Para activar las configuraciones anterioes, una vez guardados los cambios, habrá que reiniciar el servicio nmbd:

~$ sudo systemctl restart nmbd.service

Cómo acceder a los directorios personales

Para que los usuarios de Ubuntu 18.04 puedan acceder a sus directorios personales desde otros dispositivos o sistemas tienen que compartir sus directorios mediante Samba y haber añadido sus credenciales al sistema de acceso de Samba.

Mediante el comando smbpasswd añadiremos a los usuarios que queramos que accedan mediante Samba:

~$ sudo smbpasswd -a usuario
New SMB password:
Retype new SMB password:
Added user usuario.

Sólo mediante sudo se puede añadir usuarios, pero sin sudo smbpasswd sirve para cambiar la contraseña de Samba del usuario actual.

Impedir el acceso de anónimos o invitados

Para evitar que usuarios que no tienen cuenta en el sistema Ubuntu y no estén dados de alta en la base de cuentas de Samba, cambiaremos la directiva map to guest:

...
# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
   map to guest = bad user
...

Cambiaremos el valor a never:

map to guest = never

Habrá que recargar la configuración del servicio smbd:

~$ sudo systemctl reload smbd.service

Ahora, al intentar examinar una máquina de red se nos pedirán credenciales de acceso:

como configurar samba en ubuntu 18.04 lts bionic beaver

Algunos sistemas antiguos (por ejemplo, Windows XP) no pueden acceder por emplear versiones anteriores del sistema de autenticación. Si quieres poder acceder desde tales sistemas necesitarás añadir esta directiva:

# Acceso desde sistemas antiguos
        ntlm auth = yes

Y habrá que recargar la configuración del servicio smbd.

Aunque el acceso es posible, los directorios personales no se muestran por defecto, y como tampoco hemos definido otros recursos compartidos si conectamos desde un entorno gráfico nos encontraremos con una ventana vacía.

Vamos a buscar la sección [homes] en smb.conf:

;[homes]
;   comment = Home Directories
;   browseable = no

Se intuye que está completamente desactivada, por lo que debemos activar esta sección eliminando el carácter ; a principio de línea:

[homes]
;   comment = Home Directories
;   browseable = no

Puedes activar el comentario y cambiar su valor si lo necesitas.

Los cambios entran en efecto al recargar el servicio smbd.

Por defecto el contenido de los archivos del directorio personal se ofrece en modo lectura. Esto es controlado por la directiva read only:

...
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
;   read only = yes
...

Si quieres poder crear o modificar archivos, descomenta la directiva y cambia su valor a no:

read only = no

Puedes controlar los permisos con los que se crean los archivos mediante las directivas create mask y directory mask:

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
;   create mask = 0700

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
;   directory mask = 0700

Están desactivadas, así que si no te interesan los valores por defecto debes descomentarlas y darles el valor que se adapte a tus intereses.

Cómo crear nuevos recursos compartidos

Para crear un nuevo recurso compartido añadiremos una nueva sección al final del archivo smb.conf, con el nombre que queremos darle al recurso y una directiva path con la ruta de la carpeta a compartir en la máquina Ubuntu. Por ejemplo, podríamos añadir un recurso archivos:

[archivos]
        path = /var/samba/archivos

Si la ruta que has elegido no existe, debes crearla:

~$ sudo mkdir -p /var/samba/archivos

Recargando la configuración del servicio smbd el nuevo recurso está disponible.

La estrategia a la hora de crear recursos compartidos es qué usuarios pueden acceder y qué pueden hacer. Un recurso como el que acabamos de crear puede ser accedido por todo el mundo, ya que tiene permisos de lectura y ejecución para todos.

Si quisiéramos que sólo pudieran acceder determinados usuarios, podríamos crear un grupo en Ubuntu 18.04 añadir los usuarios correspondientes al mismo (usuarios que también deben estar dados de alta en Samba con smbpasswd) y utilizar la directiva valid users.

Por ejemplo, creamos el grupo archivos en Ubuntu 18.04:

~$ sudo addgroup archivos

Añadimos usuarios al grupo:

~$ sudo adduser usuario archivos
...

Y en smb.conf aplicamos valid users al recurso:

[archivos]
        path = /var/samba/archivos
        valid users = @archivos

Si quisiéramos que estos usuarios pudieran crear y modificar archivos en el recurso, bastaría con cambiar el grupo del directorio en Ubuntu y dar permisos de escritura:

~$ sudo chown :archivos /var/samba/archivos/
~$ sudo chmod g+w /var/samba/archivos/

En cuanto a Samba, en la configuración del recurso añadiremos una directiva read only:

read only = no

Podrías tener un grupo con otros usuarios sin permisos de escritura sobre el recurso. Basta crear el grupo en Ubuntu y añadir los usuarios tanto al grupo como a Samba, añadiéndolo a valid users:

valid users = @archivos @usuarios

Y podrán acceder y copiar o abrir archivos, pero no crear ni modificar, ya que aunque Samba deja escribir en el recurso, Ubuntu lo impide por los permisos no coincidentes.

El comando testparm

Si en alguna ocasión algo no funciona como esperabas después de hacer cambios de configuración, Samba pone a tu disposición el comando testparm, que examina la configuración y la valida, volcando la configuración de los recursos compartidos que encuentre en smb.conf.

Si, por ejemplo, has tecleado mal una directiva, testparm la ignora y no la muestra en el volcado.

Archivos de registro (logs) de Samba en Ubuntu 18.04

Los archivos de registro de Samba en Ubuntu 18.04 se guardan bajo la ruta /var/log/samba/. Cada servicio tiene su archivo de registro por separado.

Además, también se guardan registros de las conexiones desde otras máquinas.

Estos registros son muy útiles a la hora de encontrar fallos en la configuración de los recursos compartidos.

¡Ahorra 1,00 EUR!Bestseller No. 1 Disco Duro Externo 500GB - 2.5' USB 3.0 Ultrafino Diseño Metálico HDD Portátil para Mac, PC, Laptop, Ordenador, Xbox One, PS4, Smart TV, Chromebook - Grey
¡Ahorra 20,91 EUR!Bestseller No. 2 Toshiba 1TB Canvio Ready - Disco Duro Externo Portátil de 2,5 Pulgadas con USB 3.2 Gen 1 de Alta Velocidad, Compatible con Microsoft Windows 8.1, 10, 11 y macOS, Negro (HDTP310EK3AA)
¡Ahorra 9,73 EUR!Bestseller No. 3 Seagate Basic portátil, 2 TB, Disco duro externo, HDD, USB 3.0 para PC, ordenador portátil (STJL2000400)

Conclusión

Ahora que sabes cómo instalar y configurar Samba en Ubuntu 18.04 ya puedes compartir archivos en tu red local, entre máquinas con distintos sistemas operativos. Podrás acceder a tus archivos personales, pero también crear una estructura de carpetas y archivos compartidos que se ajusten a tus necesidades.

Si tienes dudas, preguntas, sugerencias, etc. puedes dejar un comentario.

¡Apoya este sitio!

Ah, y si esta pequeña guía de Samba en Ubuntu 18.04 LTS Bionic Beaver te ha ahorrado algunos dolores de cabeza, siempre puedes agradecérnoslo con una mínima contribución al manenimiento de este sitio.

Puedes ayudarnos dejando una propina a partir de 1 $ desde PayPal:

O, si te sientes especialmente generoso, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (1 voto)

Deja un comentario