[TUTORIAL] Compartir carpetas y archivos con NFS

Spanish Forum

Moderators: tomeu, JCSenar

Post Reply
User avatar
Wibol
Level 4
Level 4
Posts: 366
Joined: Fri Nov 27, 2015 7:00 am
Location: España

[TUTORIAL] Compartir carpetas y archivos con NFS

Post by Wibol » Sat Oct 08, 2016 7:18 am

Cuando necesitamos acceder a recursos compartidos de forma habitual y fiable, es recomendable usar el protocolo NFS (Network File System) propio de los sistemas UNIX, presente en la mayoría de distribuciones Linux y compatible con Windows. Con él podemos incluso situar los directorios /home de los usuarios de la red en una misma partición del disco duro del servidor, lo que facilita enormemente la tarea de hacer copias de seguridad de los archivos y configuraciones de las cuentas de usuario. Pero el objetivo de este tutorial no va más allá de compartir recursos en el ámbito hogareño o de pequeño negocio.

Configuración express

Copiar y pegar los bloques completos sobre la terminal:

Servidores Mint 17.X e inferiores

Code: Select all

apt install nfs-kernel-server && echo "/RUTA/CARPETA/COMPARTIDA/ 192.168.XXX.0/24(rw,sync,no_subtree_check)" | sudo tee -a /etc/exports && sudo service nfs-kernel-server restart && sudo ufw allow nfs
* Es necesario sustituir los valores escritos en MAYÚSCULA por los adecuados a cada caso.

Servidores Mint 18.X y superiores

Code: Select all

apt install nfs-kernel-server && echo "/RUTA/CARPETA/COMPARTIDA/ 192.168.XXX.0/24(rw,sync,no_subtree_check)" | sudo tee -a /etc/exports && sudo systemctl restart nfs-kernel-server && sudo ufw allow nfs
* Es necesario sustituir los valores escritos en MAYÚSCULA por los adecuados a cada caso.

Clientes Mint 17.X e inferiores

Code: Select all

apt install nfs-common autofs && sudo mkdir /RUTA/CARPETA/BASE/MONTAJE/LOCAL && echo "/RUTA/CARPETA/BASE/MONTAJE/LOCAL /etc/auto.shares --time-out=5 --ghost" | sudo tee -a /etc/auto.master && sudo cp /etc/auto.misc /etc/auto.shares && echo "SUBCARPETA -fstype=nfs,rw,soft,retry=0 192.168.XXX.XXX:/RUTA/CARPETA/COMPARTIDA" | sudo tee -a /etc/auto.shares && sudo service autofs restart
* Es necesario sustituir los valores escritos en MAYÚSCULA por los adecuados a cada caso.

Clientes Mint 18.X y superiores

Code: Select all

apt install nfs-common autofs && sudo mkdir /RUTA/CARPETA/BASE/MONTAJE/LOCAL &&  echo "/RUTA/CARPETA/BASE/MONTAJE/LOCAL /etc/auto.shares --time-out=5 --ghost" | sudo tee -a /etc/auto.master && sudo cp /etc/auto.misc /etc/auto.shares && echo "SUBCARPETA -fstype=nfs,rw,soft,retry=0 192.168.XXX.XXX:/RUTA/CARPETA/COMPARTIDA" | sudo tee -a /etc/auto.shares && sudo systemctl restart autofs
* Es necesario sustituir los valores escritos en MAYÚSCULA por los adecuados a cada caso.

Configuración detallada

Vamos a compartir la carpeta /home/wibol/Descargas de un pc Servidor con IP fija 192.168.0.2 a la que deseamos acceder desde Cliente1 y Cliente2 conectados a nuestra red local, montando dicho recurso en el directorio local /mnt/Servidor/Multimedia/ de cada cliente como si de una partición más de nuestro disco duro se tratara.

* Los valores en rojo deben/pueden ser sustituidos por los adecuados a cada caso.

Servidores

Instalamos desde el repositorio el paquete nfs-kernel-server en el equipo servidor apt install nfs-kernel-server. A continuación especificamos qué carpetas queremos hacer accesibles editando el archivo sudo nano /etc/exports y añadiendo la linea /home/wibol/Descargas/ 192.168.0.0/24(rw,sync,no_subtree_check).

exports.png

De esta forma compartimos el directorio /home/wibol/Descargas en modo lectura-escritura con todos los clientes de nuestra red local, y reiniciamos el servicio para que tome los nuevos valores con sudo service nfs-kernel-server restart para Mint 17.X e inferioes o sudo systemctl restart nfs-kernel-server para Mint 18.X y superiores. Tras configurar el firewall con sudo ufw allow nfs, estará disponible.

En cuanto a los permisos, siempre prevalecen los más restrictivos. Es decir, si compartimos un directorio con la opción "rw" pero éste sólo tiene permiso de lectura en su sistema de archivos local, el recurso será de sólo lectura para el resto de la red. A veces es necesario que la carpeta padre de la compartida tenga permisos de lectura para "Otros".

Clientes

Para que los clientes sean capaces de acceder a dicho directorio es necesaria la instalación desde el repositorio de los paquetes nfs-common y autofs apt install nfs-common autofs. Creamos la carpeta base sudo mkdir /mnt/Servidor dentro de la cual se creará automáticamente una subcarpeta por cada recurso montado. Editamos sudo nano /etc/auto.master y añadimos la línea /mnt/Servidor/ /etc/auto.shares --time-out=5 --ghost.

automaster.png

Hacemos una copia de auto.misc sudo cp /etc/auto.misc /etc/auto.shares con el nombre auto.shares. Editamos sudo nano /etc/auto.shares y añadimos la línea Multimedia -fstype=nfs,rw,soft,retry=0 192.168.0.2:/home/wibol/Descargas/ que creará la subcarpeta.

autoshares.png

Ahora sólo tenemos que reiniciar el servicio con sudo service autofs restart para Mint 17.X e inferiores o sudo systemctl restart autofs para Mint 18.X y superiores y navegar hasta /mnt/Servidor/Multimedia/ con nuestro explorador de archivos, para acceder a los recursos compartidos en Servidor. Esta carpeta puede ser añadida a Marcadores o crear un lanzador con "Control + Mayúscula + arrastrar" en el lugar que más nos convenga.

Documentación
Last edited by Wibol on Sat Aug 25, 2018 4:16 pm, edited 8 times in total.

Antes de realizar una consulta, no olvides:

Post Reply

Return to “Español (Spanish)”