16. Configuración de servicios de uso compartido de archivos en Ubuntu Server: guía completa

Configurar servicios de uso compartido de archivos en Ubuntu Server es una tarea esencial en los entornos de TI modernos, ya que permite una colaboración fluida y un intercambio de datos eficiente entre dispositivos, sistemas operativos y usuarios. Tanto si trabajas en un entorno mixto con sistemas Linux, Windows y macOS como si apoyas a un equipo que necesita acceso centralizado a recursos compartidos, Ubuntu Server ofrece herramientas potentes para satisfacer tus necesidades de uso compartido de archivos.

En esta guía, te guiaremos por el proceso de configuración de tres servicios populares de uso compartido de archivos —FTP, Samba y NFS— en Ubuntu Server. Estos servicios están diseñados para facilitar un uso compartido de archivos seguro y fiable, garantizando la compatibilidad entre diversas plataformas y entornos.


Artículos anteriores:

01. Introducción a Ubuntu Server – SysOSX: AI & Cloud

02. Cómo configurar tu primer servidor Ubuntu: guía para principiantes – SysOSX: AI & Cloud

03. Dominar la línea de comandos de Linux para Ubuntu Server – SysOSX: AI & Cloud

04. Gestión de usuarios y permisos en Ubuntu Server: guía completa – SysOSX: AI & Cloud

05. Conceptos básicos de redes para Ubuntu Server: guía completa – SysOSX: AI & Cloud

06. Instalación y gestión de software en Ubuntu Server: guía completa – SysOSX: AI & Cloud

07.Aplicación de parches y actualización de Ubuntu Server: guía completa – SysOSX: AI & Cloud

08. Protege tu servidor Ubuntu: pasos prácticos para reforzarlo y protegerlo – SysOSX: AI & Cloud

09. Auditoría y registro en el servidor Ubuntu

10. Herramientas de monitorización del sistema para Ubuntu Server: guía completa – SysOSX: AI & Cloud

11. Registro centralizado para el servidor Ubuntu: una guía imprescindible – SysOSX: AI & Cloud

12. Auditoría y cumplimiento para Ubuntu Server: mejores prácticas – SysOSX: AI & Cloud

13. Configuración de tu servidor Ubuntu para alojamiento y aplicaciones web: guía definitiva – SysOSX: AI & Cloud

14. Alojar varios sitios web en un solo servidor Ubuntu: consejos útiles – SysOSX: AI & Cloud

15. Gestión del almacenamiento y los discos en Ubuntu Server: guía sencilla – SysOSX: AI & Cloud



Introducción a los servicios de uso compartido de archivos

Los servicios de uso compartido de archivos permiten que los dispositivos intercambien datos a través de una red. Ubuntu Server admite varios protocolos para compartir archivos, entre ellos:

  • FTP (protocolo de transferencia de archivos): Ideal para transferir archivos entre dispositivos a través de una red.
  • Samba: Permite compartir archivos entre sistemas Linux y Windows mediante el protocolo SMB/CIFS.
  • NFS (sistema de archivos de red): Diseñado para compartir archivos entre sistemas basados en Unix, incluidos Linux y macOS.

Cada protocolo tiene sus puntos fuertes, y la elección depende de tu caso de uso concreto. A continuación, te guiaremos por el proceso de configuración de cada servicio.


Casos de uso de FTP, Samba y NFS

Comprender los casos de uso de cada protocolo de uso compartido de archivos te ayuda a elegir el adecuado para tu entorno:

Caso de uso de FTP

FTP es más adecuado para entornos en los que es necesario transferir archivos entre dispositivos a través de una red, como:

  • Alojar sitios web en los que los clientes suben archivos a un servidor web.
  • Compartir archivos con usuarios externos que no necesitan acceso permanente a un directorio compartido.
  • Automatizar la subida/descarga de archivos con scripts o tareas cron.

Caso de uso de Samba

Samba es ideal para entornos mixtos con sistemas Linux y Windows. Algunos casos habituales son:

  • Compartir archivos entre servidores Linux y equipos de escritorio Windows en redes corporativas.
  • Ofrecer una carpeta compartida para la colaboración entre usuarios de distintos sistemas operativos.
  • Permitir que los usuarios de Windows accedan sin problemas a servidores de archivos basados en Linux.

Caso de uso de NFS

NFS está diseñado para sistemas basados en Unix, como Linux y macOS. Funciona bien en casos como:

  • Compartir archivos entre servidores Linux en un centro de datos o en un entorno de nube.
  • Montar directorios en sistemas macOS con fines de desarrollo.
  • Ofrecer almacenamiento compartido persistente y de alto rendimiento para aplicaciones que se ejecutan en Linux.

Configuración de FTP

FTP es un protocolo muy utilizado para transferir archivos entre dispositivos. Para configurar un servidor FTP en Ubuntu:

Paso 1: Instalar vsftpd

Ejecuta el siguiente comando para instalar el paquete vsftpd:

sudo apt update
sudo apt install vsftpd

Paso 2: Configurar vsftpd

Edita el archivo de configuración:

sudo nano /etc/vsftpd.conf

Realiza los siguientes cambios:

  • Habilita el acceso anónimo (opcional): anonymous_enable=NO
  • Permite usuarios locales: local_enable=YES write_enable=YES
  • Restringe a los usuarios a sus directorios personales: chroot_local_user=YES
  • Hacer que el directorio personal no sea escribible
sudo chmod a-w /home/yourusername

Guarda y cierra el archivo y, a continuación, reinicia el servicio FTP:

sudo systemctl restart vsftpd

Paso 3: Probar el servidor FTP

Usa un cliente FTP (por ejemplo, FileZilla) o la línea de comandos para conectarte a tu servidor:

ftp <server-ip>

salida:

PS C:\> ftp 10.0.0.13
Connected to 10.0.0.13.
220 (vsFTPd 3.0.5)
200 Always in UTF8 mode.
User (10.0.0.13:(none)): uadmin
331 Please specify the password.
Password:

230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
uploads
226 Directory send OK.
ftp: 12 bytes received in 0.00Seconds 12000.00Kbytes/sec.
ftp> put test.txt
200 PORT command successful. Consider using PASV.
553 Could not create file.
ftp> cd uploads
250 Directory successfully changed.
ftp> pwd
257 "/uploads" is the current directory
ftp> put test.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
test.txt
226 Directory send OK.
ftp: 13 bytes received in 0.00Seconds 13000.00Kbytes/sec.
ftp>

Configuración de Samba para Windows y Linux

Samba es ideal para compartir archivos entre sistemas Linux y Windows. Sigue estos pasos para configurar Samba:

Paso 1: Instalar Samba

Ejecuta el siguiente comando:

sudo apt update
sudo apt install samba

Paso 2: Configurar Samba

Edita el archivo de configuración de Samba:

sudo nano /etc/samba/smb.conf

Añade la siguiente sección para compartir un directorio:

[SharedFolder]
path = /path/to/shared/folder
read only = no
browsable = yes
guest ok = yes
force user = nobody


Paso 3: Establecer permisos

Asegúrate de que la carpeta compartida tenga los permisos adecuados:

sudo chmod -R 0777 /path/to/shared/folder
sudo chown -R nobody:nogroup /path/to/shared/folder

Reinicia el servicio Samba:

sudo systemctl restart smbd

Paso 4: Acceder a los recursos compartidos de Samba

  • Windows: Abre el Explorador de archivos e introduce la dirección IP del servidor (por ejemplo, \\<server-ip>).
  • Linux: Usa el comando smbclient o monta el recurso compartido con cifs.
Configuración de la carpeta compartida en SMB.config

Configura el nombre de usuario y la contraseña de SMB con:

sudo smbpasswd -a username

Después de configurar el servidor Samba, añadir el nombre de usuario y la contraseña de SMB y compartir /www/var, intenta acceder desde la máquina Windows.


Configuración de NFS para Linux y macOS

NFS es un protocolo potente para compartir archivos entre sistemas basados en Unix. Así se configura NFS:

Paso 1: Instalar el servidor NFS

Ejecuta el siguiente comando:

sudo apt update
sudo apt install nfs-kernel-server

Paso 2: Configurar las exportaciones NFS

Edita el archivo de exportaciones NFS:

sudo nano /etc/exports

Añade el directorio que quieres compartir, especificando las IP o redes de los clientes:

/path/to/shared/folder <client-ip>(rw,sync,no_subtree_check)

A continuación, verifica las exportaciones con:

exportfs -v

Paso 3: Aplicar los cambios

Reinicia el servicio NFS:

sudo systemctl restart nfs-kernel-server

Paso 4: Montar el recurso compartido NFS

En la máquina cliente, usa el siguiente comando para montar el recurso compartido NFS:

sudo mount <server-ip>:/path/to/shared/folder /mount/point

Desde el lado del cliente, instala el cliente NFS con la línea de comandos:

sudo apt install nfs-common

#Check if the NFS server is listening on the required ports:
sudo showmount -e nfs-server-ip


Solución de problemas comunes

Los servicios de uso compartido de archivos pueden tener problemas debido a configuraciones incorrectas o a la configuración de red. Estos son algunos problemas comunes y sus soluciones:

Configuración del cortafuegos

Asegúrate de que los puertos necesarios estén abiertos:

  • FTP: Puerto 21
  • Samba: Puertos 137-139 y 445
  • NFS: Puertos 2049 y otros (consulta /etc/services para más detalles)

Usa ufw para permitir estos puertos:

sudo ufw allow <port-number>

Errores de permisos

Verifica los permisos y la propiedad de los directorios de las carpetas compartidas.

Problemas de conectividad

Comprueba la configuración de red y asegúrate de que el servidor y el cliente estén en la misma subred.


Recursos adicionales

Para obtener más información, consulta la documentación oficial de cada servicio:

Próximo capítulo: temas avanzados

En el próximo capítulo, profundizaremos en temas avanzados para mejorar aún más tus habilidades de gestión de servidores. El primer tema se centrará en Configurar un servidor de bases de datos seguro en Ubuntu, donde aprenderás a instalar y configurar bases de datos como MySQL o MariaDB en un servidor Ubuntu. ¡Mantente al tanto!

3 thoughts on “16. Setting Up File Sharing Services on Ubuntu Server: a complete guide”

Deja un comentario