En esta breve guía hablaremos sobre como montar una unidad compartida que se encuentre en una instalación de Ubuntu que será el servidor con la unidad NFS (Network File System), en una unidad de red accesible desde Windows 10 quien jugará el rol de cliente.
Instalación y configuración en Ubuntu como servidor
En el caso de Debian remover sudo en cada comando.
Instalamos el paquete ‘nfs-kernel-server’:
sudo apt install nfs-kernel-server
Opciones de la unidad
Luego editamos el archivo ‘/etc/exports’:
sudo nano /etc/exports
El archivo contiene comentarios como los siguientes:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
Agregamos una linea al final con lo siguiente:
/home/user/folder 192.168.0.10(rw,sync,all_squash,anonuid=1000,anongid=1000)
En el ejemplo anterior /home/user/folder
es la carpeta que será compartida. Después la IP del cliente o clientes. Se muestra solo una IP estatica pero podemos usar 192.168.0.1/24
que abarca desde la IP 192.168.0.1
hasta 192.168.0.254
.
Las opciones de montaje están entre paréntesis.
rw
es para permitir lectura y escritura.
sync
Es opcional en caso de que queramos un poco mas de integridad de archivos y evitar pérdida de datos, sacrificando un poco de rendimiento.
all_squash
Esta opción degrada los permisos de los archivos creados desde el cliente al usuario nobody. Por ejemplo si en Windows 10 estoy como Administrador y creó un nuevo archivo, este pertenecera al usuario nobody.
anonuid
El ID del usuario nobody, o en un caso específico el de cualquier usuario.
anongid
El ID del grupo del usuario nobody.
En este caso establecí anonuid
y anongid
a 1000
, que viene siendo el usuario que es dueño de la carpeta /home/user/folder
para conservar permisos de ejecución y escritura.
Con los cambios realizados guardamos el archivo CTRL + O, luego Enter, y entonces cerramos con CTRL + X.
Reiniciamos el servidor NFS:
sudo service nfs-kernel-server restart
Con esto quedará lista la configuración en el servidor.
Instalación y configuración del cliente en Windows 10
Windows viene con un cliente por defecto pero necesita ser instalado.
La forma más sencilla de instalarlo es usar el buscador y escribir ‘Panel de control’, ya que Windows 10 tiene varios paneles modernos que solo ocultan las opciones más antiguas. Abrimos ‘Programas y características’ y en el panel izquierdo abrimos ‘Activar o desactivar las características de Windows’.
Marcamos la casilla ‘Servicios para NFS’ con sus dos descendientes ‘Cliente para NFS’ y ‘Herramientas administrativas’. Hacemos clic en Aceptar y después de un tiempo el cliente quedará instalado.
Montando la unidad de red
Para montar la unidad abrimos el ‘símbolo del sistema’ (no usar PowerShell). Usamos el comando:
mount -o anon \\192.168.0.20\home\user\folder k:
La IP 192.168.0.20
es la del servidor, segida del recurso compartido y luego una letra de unidad que se usará.
El mensaje El comando se completó correctamente. indicará que todo funcionó correctamente.
Permisos de escritura para el usuario anónimo
Normalmente
y de manera predeterminada Windows no permite la escritura en este tipo
de unidades con el usuario anónimo. Para habilitar la escritura tenemos
que abrir el registro de Windows Regedit, y nos dirigimos hacia:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
Ahí crearemos un valor de DWORD (32-bits) con el nombre AnonymousUid con el valor ‘0’ con base ‘Decimal’. Luego creamos otro valor de DWORD (32-bits) con el nombre AnonymousGid con el valor ‘0’ con base ‘Decimal’.
Tenemos que reiniciar el equipo o el servicio ‘Cliente para NFS’.
Si seguimos todos los pasos anteriores y ya tenemos la unidad montada, abrimos el símbolo del sistema y ejecutamos el comando mount
, aparecerá el montaje y en propiedades saldrá UID=0
y GID=0
. Si aparece cualquier otro numero verificar todo el procedimiento anterior.
Notas: El procedimiento es prácticamente el mismo tanto en Ubuntu como en Debian, o cualquier otra variación como Kubuntu. No es necesario usar Ubuntu Server. La versión de NFS que se usará es la 3 con Ubuntu 18.04 - 64-bits y Windows 10.