Montando en Windows7 un directorio exportado por NFS en Debian7
Tengo la necesidad de montar un directorio de mi servidor debian7 en mi windows 7 de casa, ya sabiendo que Windows 7 (algunas versiones) soporta el uso de NFS, pues mejor que SMB, pero he tenido que buscar información en internet al respecto, porque parce que la gestión de los permisos de los ficheros y propiedad de los mismos, no es muy sencillo de hacer.
La parte de Debian, es como siempre, se instala nfs-kernel-server
aptitude install nfs-kernel-server
y se define en el fichero /etc/exports el directorio a usar por NFS.En mi caso la cosa queda de este modo.(la linea azul la que se exportara)
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/home/consola/Descargas 192.168.12.0/24(rw,sync,no_subtree_check)
Algunos detalles,
"/home/consola/Descargas" es el directorio a exportar
"192.168.12.0/24" es la subnet que tendrá permiso para acceder al recurso
"rw" tiene premisos de lectura y escritura
"sync" la conexión sera sincrona
"no_subtree_check" No se comprobara los contenidos de la esctuctura.
Ya solo nos queda releer el fichero y relanzar el servicio, lo hacemos con:
exportfs -r
Usar man para mas detalles.(man exportfs)
/etc/init.d/nfs-kernel-server restart
Ya tenemos todo listo, empecemos a configurar la parte Windows.
Montando en Windows 7 Ultimate un directorio NFS
Lo primero de todo es asegurarnos que nuestra versión de windows 7, tiene soporte NFS, tendremos que comprobar esto viendo si se puede instalar una característica de windows en:
Panel de control->Programas y características-> Activar o desactivar las características de Windows
esta opción ultima, está en el panel lateral, la ultima opción y se requiere tener permisos de Administrador.
saldrá una ventana titulada Características de Windows en la que muestra un arbol con las "caracteristicas" tarda un poco, en sacar el arbol, ya solo queda buscar en el una linea que ponga, "Servicios para NFS" que tiene que contener a su vez dos lineas mas "Cliente para NFS" y "Herramientas Administrativas"
En mi caso yo instalo las dos, tanto el cliente como las herramientas.
Si no aparece estas lineas, es que vuestra versión de Windows 7 no lo soporta.
Ya solo quedaría hacer el montado del directorio por NFS, PEROOOOO, nos queda un tema peliagudo, que son los permisos en el directorio origen, como puse antes, indague para dar con algo que me ayudara a solucionarlo, y di con esto:
https://vjavierf.wordpress.com/2012/02/07/montar-sistema-de-ficheros-nfs-en-windows-7-ultimate-o-enterprise/
En este documento dicen como se ha de modificar el registro, para que se use el identificador de usuario y de grupo del usuario en mi caso el usuario consola, que corresponden al 1000 tanto el UID como el GID.
Modificando el Regisro de Windows. Con una foto nos hacemos una clara idea de como es la cosa.
Se han de crear dos entradas del tipo DWORD en: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
AnonymousUid y AnonymousGid con el valor en decimal que corresponda en el sistema anfitrión al usuario que estamos con su recurso compartido por NFS.
En principio no es necesario reiniciar Windows, porque se actualizan estos valores en tiempo real.
Ya solo nos queda montar el recurso y en windows se tiene el mismo nombre de comando que en linux, mount, nos monta.
En mi caso ejecuto en una consola de Administrador en Windows7:
mount \\192.168.12.8\home\consola\Descargas
Ojo con las // o \\ que no hace el mismo caso.
El resultado queda de este modo. La acción de montaje, y el uso de mount otra vez, para que nos indique que se ha montado y como.
"Microsoft Windows [Versión 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.
C:\Users\Trash>mount \\192.168.12.8\home\consola\Descargas
Y: está conectado ahora correctamente a \\192.168.12.8\home\consola\Descargas
El comando se completó correctamente.
C:\Users\Trash>mount
Local Remoto Propiedades
-----------------------------------------------------------------------------
Y: \\192.168.12.8\home\consola\Descargas UID=1000, GID=1000
rsize=32768, wsize=32768
mount=soft, timeout=1.6
retry=1, locking=yes
fileaccess=755, lang=ANSI
casesensitive=no
seg.=sys"
Como vemos se nos ha cerado la unidad Y: donde residen los contenidos del directorio Descargas del usuario consola, con la UID y GID correcta.