Ubuntu: cómo crear un servidor de archivos con Samba o NFS (guía completa)

目次

1. ¿Cuáles son las ventajas de construir un servidor de archivos con Ubuntu?

¿Qué es un servidor de archivos?

Un servidor de archivos es un servidor que ofrece un mecanismo para que varios dispositivos de una red almacenen y compartan archivos en común. Aporta múltiples ventajas como agilizar el intercambio de archivos en redes corporativas o domésticas, la gestión centralizada de datos y la simplificación de las copias de seguridad.

Por ejemplo, si varias personas desean editar el mismo documento, guardar y pasar el archivo de forma local entre PCs resulta menos eficiente que almacenarlo en un servidor de archivos, con lo que todos podrán compartir siempre la versión más reciente. Además, ayuda a evitar el riesgo de guardar datos en PCs individuales y es útil como medida frente a la pérdida de información.

¿Cuáles son las ventajas de usar Ubuntu?

Existen varios sistemas operativos para construir un servidor de archivos, pero Ubuntu es una opción muy popular. Las razones son las siguientes:

1. Uso gratuito

Ubuntu es una distribución Linux de código abierto y no requiere pagar licencias. Es muy atractivo para particulares y empresas que desean crear un entorno de servidor con un presupuesto ajustado.

2. Ligero y muy estable

Ubuntu consume pocos recursos y funciona incluso en PCs antiguos o en Raspberry Pi. Si eliges una versión de soporte a largo plazo (LTS), recibirás actualizaciones de seguridad y correcciones de errores durante más tiempo, por lo que es altamente adecuado para uso como servidor.

3. Abundancia de herramientas como Samba y NFS

En Ubuntu es sencillo instalar y configurar sistemas de archivos en red como Samba (compartición con Windows) y NFS (compartición entre Linux/Unix). Gracias a sus numerosos paquetes y documentación, incluso los principiantes pueden construir un entorno de forma sencilla.

4. Gran comunidad y abundancia de información

Ubuntu se usa en todo el mundo, por lo que al buscar soluciones para un problema, suelen encontrarse muchas respuestas. También hay abundante información en español e inglés, por lo que puedes operar con tranquilidad aunque no domines otros idiomas.

Ideal para el hogar y oficinas pequeñas

Un servidor de archivos con Ubuntu es ideal para compartir datos entre varios dispositivos en el hogar o para el trabajo colaborativo en entornos SOHO. En lugar de comprar un NAS (almacenamiento conectado a red), puedes construir un servidor flexible y económico adaptado a tu objetivo.

Por ejemplo, permite los siguientes usos:

  • Servidor multimedia para compartir fotos y vídeos con toda la familia
  • Compartición de facturas, presupuestos y otros documentos en un negocio pequeño
  • Intercambio de código y documentación dentro de un equipo de desarrollo
年収訴求

2. Comparativa de métodos de servidor de archivos | Diferencias entre Samba y NFS

Al construir un servidor de archivos en Ubuntu, los métodos más utilizados son Samba y NFS. Ambos permiten compartir archivos a través de la red, pero difieren en los sistemas operativos cliente a los que se dirigen y en sus características. Aquí comparamos sus rasgos y cuándo conviene elegir cada uno.

¿Qué es Samba? Su mayor atractivo es la alta compatibilidad con Windows

Samba implementa en Linux el protocolo de compartición de archivos de Windows, SMB (Server Message Block). Al instalar Samba en Ubuntu, podrás construir un servidor de archivos accesible desde PCs con Windows como si fuese una unidad de red.

Características de Samba

  • Alta compatibilidad con Windows
  • Acceso sencillo a carpetas compartidas desde el “Explorador de archivos” de Windows
  • Gestión detallada de autenticación de usuarios y permisos de acceso
  • Disponibilidad de herramientas de configuración por GUI (p. ej., Webmin)

Casos en los que Samba es adecuado

  • Cuando se desea compartir archivos con clientes Windows
  • Cuando se necesita compartir entre diferentes sistemas (p. ej., Windows y Linux)
  • Cuando se busca una operación amigable para usuarios en entornos domésticos u oficinas

¿Qué es NFS? Compartición rápida entre Linux/Unix

NFS (Network File System) es un protocolo de compartición de archivos usado principalmente entre sistemas Linux y Unix. Desde el lado cliente, puedes montar carpetas del servidor NFS como si fueran directorios locales.

Características de NFS

  • Óptimo para compartición entre sistemas Linux
  • Ligero y con transferencias rápidas
  • Configuración simple y escalable a comparticiones de gran tamaño
  • Requiere atención a la seguridad (control de acceso basado en IP)

Casos en los que NFS es adecuado

  • Entornos de servidor que comparten archivos entre sistemas Linux
  • Uso como directorio compartido para equipos de desarrollo
  • Cuando se requiere transferencia de archivos ligera y rápida

Tabla comparativa entre Samba y NFS

ElementoSambaNFS
Sistemas compatiblesWindows / Linux / macOS, etc.Linux / Unix (Windows no recomendado)
ProtocoloSMB (CIFS)NFS
VelocidadMedia (varía según configuración)Alta
SeguridadAdmite autenticación de usuarios y cifradoControl por IP, compatible con Kerberos
Dificultad de configuraciónAlgo complejaSencilla
Uso típicoCompartición entre distintos SOCompartición eficiente entre Linux

¿Cuál deberías elegir?

En conclusión, el método depende de con qué sistemas vas a compartir, cómo lo usarás y qué priorizas.

  • Si el objetivo principal es compartir con Windows, Samba es lo ideal
  • Si la compartición es entre Linux, NFS es más sencillo y rápido
  • Si conviven entornos distintos, combinar Samba + NFS también es una opción

Aprovechando la flexibilidad de Ubuntu, puedes implantar ambos según la situación.

3. [Samba] Pasos para construir un servidor de archivos en Ubuntu

A continuación, explicamos cómo instalar Samba en Ubuntu y construir un servidor de archivos paso a paso. Es especialmente útil cuando el objetivo es compartir con Windows.

Preparación previa | Actualizar Ubuntu y verificar paquetes

Primero, deja el sistema Ubuntu al día. Abre la terminal y ejecuta:

sudo apt update
sudo apt upgrade

Después, verifica los paquetes necesarios, incluido si Samba ya está instalado.

smbclient --version

Si no aparece versión, instala Samba en el siguiente paso.

Cómo instalar Samba

Instala el paquete Samba con:

sudo apt install samba -y

Tras la instalación, comprueba que el servicio esté activo:

sudo systemctl status smbd

Si ves “active (running)”, está correcto.

Configurar smb.conf y crear la carpeta compartida

El archivo de configuración de Samba es /etc/samba/smb.conf. Primero crea la carpeta compartida. En este ejemplo, usaremos /srv/samba/shared como directorio compartido.

sudo mkdir -p /srv/samba/shared
sudo chmod 777 /srv/samba/shared

Luego edita el archivo de configuración:

sudo nano /etc/samba/smb.conf

Agrega al final del archivo lo siguiente:

[Shared]
   path = /srv/samba/shared
   browseable = yes
   read only = no
   guest ok = yes

Con esta configuración funcionará como carpeta pública con lectura y escritura para cualquiera. Para mayor seguridad, configura la “autenticación de usuarios” descrita más adelante.

Para aplicar los cambios, reinicia Samba:

sudo systemctl restart smbd

Crear usuarios de Samba y configurar permisos

Para un uso seguro, conviene crear usuarios de Samba y restringir el acceso.

  1. Crea un usuario local en Ubuntu (si ya existe, omite):
sudo adduser sambauser
  1. Regístralo como usuario de Samba:
sudo smbpasswd -a sambauser
  1. Cambia el propietario del directorio y ajusta permisos:
sudo chown sambauser:sambauser /srv/samba/shared
sudo chmod 770 /srv/samba/shared
  1. Edita smb.conf para exigir autenticación:
[SecureShared]
   path = /srv/samba/shared
   browseable = yes
   read only = no
   valid users = sambauser

Cómo conectarse desde un cliente Windows

Tras configurar el servidor Samba, conectarte desde Windows es sencillo:

  1. Abre el Explorador de archivos
  2. En la barra de direcciones, escribe IP_del_servidor_de_Ubuntu\Shared
  3. Si solicita credenciales, introduce las de sambauser creado

Si la conexión tiene éxito, podrás leer y escribir como en cualquier carpeta normal.

4. [NFS] Pasos para construir un servidor de archivos en Ubuntu

NFS (Network File System) es un protocolo de compartición en red ligero y rápido, ampliamente usado en entornos Linux y Unix. En Ubuntu se instala con facilidad y permite intercambiar archivos sin fricción entre múltiples máquinas Linux.

A continuación, explicamos los pasos para construir un servidor NFS en Ubuntu.

Instalación del servidor NFS

Primero instala el paquete del servidor NFS. En la terminal del servidor Ubuntu ejecuta:

sudo apt update
sudo apt install nfs-kernel-server -y

Después, verifica que el servicio esté arrancado:

sudo systemctl status nfs-server

Si ves “active (running)”, está correcto.

Configurar /etc/exports y definir el directorio compartido

Crea el directorio que expondrás al cliente. En este ejemplo usaremos /srv/nfs/shared.

sudo mkdir -p /srv/nfs/shared
sudo chown nobody:nogroup /srv/nfs/shared
sudo chmod 755 /srv/nfs/shared

Ahora edita el archivo de configuración de NFS, /etc/exports:

sudo nano /etc/exports

Añade esta línea (ajusta 192.168.1.0/24 a tu red):

/srv/nfs/shared 192.168.1.0/24(rw,sync,no_subtree_check)

Para aplicar la configuración, ejecuta:

sudo exportfs -a
sudo systemctl restart nfs-server

Con esto queda lista la parte del servidor NFS.

Montaje en el cliente (Linux)

En el cliente Linux que accederá al servidor NFS, instala el paquete de cliente:

sudo apt update
sudo apt install nfs-common -y

Crea el punto de montaje (por ejemplo, /mnt/nfs_shared):

sudo mkdir -p /mnt/nfs_shared

Después, monta el recurso NFS con:

sudo mount -t nfs 192.168.1.10:/srv/nfs/shared /mnt/nfs_shared

192.168.1.10 es la dirección IP del servidor NFS.

Así, el directorio compartido del servidor quedará disponible en la carpeta indicada del cliente.

Montaje automático al iniciar (opcional)

Si quieres montar automáticamente al arrancar, añade esta línea a /etc/fstab:

192.168.1.10:/srv/nfs/shared /mnt/nfs_shared nfs defaults 0 0

Con ello, el sistema montará el recurso NFS al iniciar.

Restricciones de acceso y precauciones específicas de NFS

A diferencia de Samba, NFS se basa principalmente en el control de acceso por direcciones IP. En /etc/exports especifica explícitamente sólo las redes o hosts de confianza.

Además, si el UID (ID de usuario) y el GID (ID de grupo) no coinciden entre cliente y servidor, la propiedad de archivos podría no reconocerse correctamente. Por ello, lo ideal es unificar los UID/GID de los usuarios que accederán a la carpeta compartida.

Con esto concluye la construcción de un servidor de archivos con NFS en Ubuntu. En comparación con Samba, es más simple y rápido, por lo que es muy adecuado para compartición entre sistemas Linux.

5. Mejores prácticas de seguridad y operación

Un servidor de archivos es un mecanismo muy útil para compartir datos por la red; sin embargo, si no aplicas medidas adecuadas de seguridad aumentan los riesgos de fuga de información y accesos no autorizados. En esta sección, presentamos mejores prácticas de seguridad y gestión para operar un servidor de archivos en Ubuntu.

Restringe el acceso con el cortafuegos (ufw)

Ubuntu incluye de serie ufw (Uncomplicated Firewall). En la compartición con Samba o NFS, abre explícitamente sólo los puertos necesarios para bloquear tráfico innecesario.

Ejemplo de apertura de puertos para Samba

sudo ufw allow Samba

Esto abre de forma conjunta los puertos necesarios (137, 138, 139, 445).

Ejemplo de apertura de puertos para NFS

Como los puertos usados por NFS pueden variar según el entorno, configura reglas individuales o fija los puertos según sea necesario.

sudo ufw allow from 192.168.1.0/24 to any port nfs

192.168.1.0/24 es el rango de red permitido.

Refuerza las restricciones de acceso y la autenticación

Restricciones en Samba

  • Usa valid users para limitar por recurso qué usuarios pueden acceder
  • Permite sólo lectura con read only = yes
  • También puedes limitar por IP con hosts allow y hosts deny

Ejemplo (smb.conf):

[SecureShared]
   path = /srv/samba/secure
   read only = no
   valid users = user1
   hosts allow = 192.168.1.

Restricciones en NFS

  • Especifica IPs o redes permitidas en /etc/exports
  • Define claramente rw (lectura/escritura) o ro (sólo lectura)
  • Usa root_squash para limitar privilegios root del cliente

Ejemplo:

/srv/nfs/secure 192.168.1.0/24(rw,sync,no_subtree_check,root_squash)

Supervisión de logs y detección de anomalías

La supervisión de logs es esencial en la operación diaria para confirmar que el servidor no sufra accesos no autorizados o errores.

  • Log de Samba: /var/log/samba/log.smbd
  • Logs de NFS: /var/log/syslog o journalctl -u nfs-server

Con herramientas como fail2ban puedes bloquear IPs tras varios fallos de autenticación.

Construye un esquema de copias de seguridad automáticas

En un servidor de archivos, las copias de seguridad periódicas son imprescindibles frente a errores humanos o fallos de hardware.

Ejemplos de métodos de backup

  • Copias incrementales con rsync
  • Ejecución programada con cron
  • Almacenamiento doble en HDD externo o NAS
  • Sincronización con almacenamiento en la nube (Google Drive, Dropbox) usando rclone

Ejemplo: programar con rsync y cron una copia diaria a las 02:00

0 2 * * * rsync -a /srv/samba/shared/ /mnt/backup/shared/

Actualiza el software de forma periódica

Para prevenir vulnerabilidades, mantén los paquetes actualizados:

sudo apt update && sudo apt upgrade -y

Además, elegir versiones LTS de Ubuntu te garantiza actualizaciones de seguridad estables durante largos periodos.

La operación de un servidor de archivos no termina tras su construcción. Para mantenerlo estable es fundamental gestionar a diario seguridad, copias de seguridad y mantenimiento.

6. Problemas frecuentes y cómo solucionarlos (troubleshooting)

Incluso después de construir el servidor de archivos, pueden surgir problemas o errores de configuración cotidianos. En esta sección recopilamos incidencias comunes y sus soluciones en servidores de archivos Ubuntu con Samba o NFS.

No conecta / no se ve el recurso compartido

Síntomas

  • No se puede acceder a la carpeta compartida desde clientes Windows o Linux
  • El servidor no aparece en la red

Causas principales y soluciones

CausaSolución
Bloqueo por cortafuegosEjecuta sudo ufw allow Samba o sudo ufw allow from [IP] to any port nfs
Fallo en la resolución de nombresAccede por IP directamente: 192.168.1.10\Shared
Servicios Samba/NFS detenidosReinicia con sudo systemctl restart smbd o el servicio nfs-server
Configuración de red del cliente incorrectaVerifica subred y puerta de enlace

Errores de permisos de acceso

Síntomas

  • No se pueden crear o editar archivos
  • Aparece “Acceso denegado”

Causas principales y soluciones

CausaSolución
Propiedad del directorio incorrectasudo chown -R usuario:grupo /carpeta_compartida
Permisos insuficientesAjusta con sudo chmod -R 770 /carpeta_compartida
Configuración deficiente en SambaEn la sección [shared], establece read only = no
UID/GID no coinciden en NFSAlinea los IDs de usuario entre cliente y servidor (comprueba con id)

El montaje no persiste / el recurso desaparece tras reiniciar

Síntomas

  • En clientes Linux, el montaje de la carpeta compartida desaparece tras reiniciar
  • Debes ejecutar manualmente el comando de montaje cada vez

Causas principales y soluciones

CausaSolución
Olvido de añadir a fstabAñade la configuración de montaje automático en /etc/fstab
La red tarda más en estar disponible que fstabAgrega nofail,_netdev en las mount options
Respuesta lenta del servidorAñade opciones de tiempo de espera, p. ej. timeo=14

Ejemplo de fstab (NFS):

192.168.1.10:/srv/nfs/shared /mnt/nfs_shared nfs defaults,_netdev,nofail 0 0

Los archivos no se ven / no se sincronizan

Síntomas

  • Desde otros clientes no se ven archivos guardados
  • Los cambios no se reflejan al instante

Causas principales y soluciones

CausaSolución
Retraso por cachéA menudo es temporal. Refresca con Ctrl + F5 o reconecta
Buffering del lado del clienteEn NFS usa actimeo=0 para sincronía inmediata
Escritura diferida en SambaAñade strict sync = yes en smb.conf para reflejo inmediato

Revisión de archivos de log y diagnóstico

En Ubuntu, consultar los logs es clave para encontrar las causas de los problemas.

Logs relacionados con Samba

cat /var/log/samba/log.smbd

Logs relacionados con NFS

journalctl -u nfs-server

En los logs verás detalles sobre fallos de acceso, errores de autenticación y configuraciones erróneas. Con los mensajes de error en mano, encontrarás muchas soluciones buscando en Google.

Consejos de troubleshooting

  • Realiza cambios de configuración en pasos pequeños y verifica cada vez
  • Haz siempre copias de seguridad de los archivos de configuración
  • Usa comandos de verificación como testparm y exportfs -v
  • Tras cambiar configuraciones, reinicia o recarga servicios sin olvidarlo

7. FAQ | Preguntas frecuentes sobre servidores de archivos en Ubuntu

Durante la construcción y operación de un servidor de archivos en Ubuntu surgen dudas comunes. Aquí reunimos preguntas frecuentes y sus respuestas, útiles desde principiantes hasta usuarios intermedios.

P1. ¿Debo escoger Samba o NFS?

R. En principio, decide según el tipo de sistema operativo cliente.

  • Si predomina Windows, Samba (SMB)
    → Acceso sencillo desde el Explorador
  • Si la compartición es entre Linux, NFS
    → Ligero, rápido y estable

En entornos mixtos puedes usar ambos. No es necesario limitarse a uno solo.

P2. ¿Cómo comparto almacenamiento externo (USB HDD, etc.)?

R. Monta primero el dispositivo externo y luego decláralo como recurso compartido.

  1. Comprueba el dispositivo:
lsblk
  1. Crea el punto de montaje y monta:
sudo mkdir /mnt/usb
sudo mount /dev/sdX1 /mnt/usb
  1. Configura /mnt/usb como compartido en Samba o NFS.

Si quieres montar automáticamente, añade la entrada en /etc/fstab.

P3. No puedo acceder desde Windows 11 al servidor Samba

R. Puede deberse a la versión de SMB o al método de autenticación.

Prueba lo siguiente:

  • Añade a /etc/samba/smb.conf:
client min protocol = SMB2
server min protocol = SMB2
  • Evita el acceso de invitado y usa usuario/contraseña
  • Si Windows tiene habilitado “SMB 1.0”, se recomienda deshabilitarlo por seguridad

P4. ¿Cómo hago copias de seguridad del servidor de archivos?

R. Lo mejor es automatizar copias periódicas.

Métodos recomendados:

  • Copias incrementales con rsync
  • Programación con cron
  • Backup a HDD externo o NAS
  • Sincronización con la nube (p. ej., Google Drive) usando rclone

Ejemplo: copia diaria a las 02:00

0 2 * * * rsync -a /srv/samba/shared/ /mnt/backup/

P5. ¿Qué es más adecuado para un servidor de archivos: Ubuntu Desktop o Server?

R. Para operación estable, Ubuntu Server; si buscas facilidad, Desktop.

ElementoUbuntu ServerUbuntu Desktop
GUINo (más ligero)Sí (para principiantes)
Consumo de recursosBajoAlto
OperatividadBasado en comandosOperación con GUI
Uso recomendadoOperación de servidor seriaHogar, aprendizaje, uso ligero

Si no necesitas GUI, Ubuntu Server es preferible por seguridad y rendimiento.

Construir un servidor de archivos con Ubuntu es simple y flexible, y resulta un entorno fácil de mantener frente a problemas.

8. Conclusión | Logra una compartición flexible con Ubuntu según tu uso

Construir un servidor de archivos con Ubuntu es una opción excelente para lograr compartición de archivos estable con bajo coste. En este artículo hemos cubierto diferencias entre Samba y NFS, pasos de instalación, seguridad, resolución de problemas y más.

Repasemos los puntos clave para guiar la implantación y operación.

Elige Samba o NFS según el propósito

Es fundamental escoger el método según la finalidad:

  • Samba para compartir en entornos Windows
  • Acceso directo desde el Explorador
  • Gestión flexible de autenticación y comparticiones
  • NFS para compartición rápida entre Linux
  • Ligero y de alto rendimiento
  • Óptimo para servidores y entornos de desarrollo

También es posible combinarlos; elige según tu topología y el nivel de los usuarios.

Opera con foco en seguridad y mantenibilidad

Tras la construcción, estos puntos impactan directamente en la seguridad y comodidad del entorno:

  • Cortafuegos y restricciones de acceso bien configurados para prevenir accesos no autorizados
  • Actualizaciones y supervisión de logs periódicas para mantener la salud del sistema
  • Automatización de copias de seguridad para responder rápido ante incidentes

Ubuntu ofrece herramientas e información para sostener todo lo anterior; incluso los principiantes pueden aprender paso a paso.

¿Por qué construir tu propio servidor?

Comprar un NAS listo para usar es válido, pero construirlo con Ubuntu ofrece ventajas como:

  • Arquitectura simple con sólo las funciones necesarias
  • Libertad para elegir hardware y capacidad de almacenamiento
  • Aprendizaje práctico y aplicación directa al trabajo

Si pensabas que “parece difícil…”, esperamos que este artículo te haya mostrado que construirlo desde cero no es una barrera alta.

Un servidor de archivos con Ubuntu es una herramienta versátil que cubre desde uso personal hasta profesional. Ajusta la configuración a tu red y objetivos para encontrar la opción ideal.