Fallo al crear y escribir en el sistema de archivos con NFS de Windows

Descubra cómo solucionar fallos para crear o escribir archivos en un sistema de archivos montado mediante NFS de Windows.

Importante

Antes de continuar con la solución de problemas, asegúrese de implantar los siguientes requisitos para la conexión a sistemas de archivos desde instancias de Windows:

Síntoma: después de instalar el cliente NFS de Windows, puede montar correctamente el sistema de archivos desde Windows, pero falla cualquier intento de crear o actualizar un archivo en el sistema de archivos.

Causa 1: faltan las entradas de registro que asignan AnonymousGid y AnonymousUid al usuario raíz o están en el lugar incorrecto.

El acceso a sistemas de archivos NFS requiere identidades de grupos y usuarios de tipo UNIX, que no son las mismas que las identidades de usuarios y grupos de Windows. Para permitir que los usuarios accedan a los recursos compartidos NFS, el cliente Windows para NFS accede a los sistemas de archivos de forma anónima, mediante AnonymousGid y AnonymousUid. En los nuevos sistemas de archivos, los permisos de escritura solo se otorgan al usuario raíz.

Solución: compruebe que las entradas de registro correctas están en HKEY_LOCAL_MACHINE\Software\Microsoft\ClientForNFS\CurrentVersion\Default. Si no es así, agregue las entradas de registro AnonymousGid y AnonymousUid para asignarlas al usuario raíz y, a continuación, vuelva a montar el sistema de archivos con los nuevos privilegios de usuario.

Consejo

Puede verificar que AnonymousGid y AnonymousUid están definidos correctamente para un sistema de archivos montado; para ello, abra una ventana de la línea de comandos de Windows (CMD) y escriba el comando mount sin ningún argumento. Se muestra una lista de todos los sistemas de archivos montados y sus propiedades. Los valores AnonymousGid (GID) y AnonymousUid (UID) deben aparecer como 0.

Por ejemplo:

C:\>mount

Local    Remote                                 Properties
-------------------------------------------------------------------------------
X:       \\10.0.1.0\FileSystem                  UID=0, GID=0
                                                rsize=1048576, wsize=1048576
                                                mount=soft, timeout=0.8
                                                retry=1, locking=yes
                                                fileaccess=755, lang=ANSI
                                                casesensitive=no
                                                sec=sys

Si aparecen como -2, no se han definido correctamente. Siga con las instrucciones que aparecen a continuación.

Para asignar AnonymousGid y AnonymousUid al usuario raíz
  1. En la ventana de línea de comandos de Windows (CMD), desmonte el sistema de archivos escribiendo lo siguiente. Reemplace 10.x.x.x: por la dirección IP de subred local asignada al destino de montaje, fs-export-path por la ruta de exportación especificada al asociar el sistema de archivos al destino de montaje y X por la letra de unidad de cualquier unidad disponible a la que desee asignar el sistema de archivos.

    Consejo

    La información de la ruta de acceso de exportación y la dirección IP está disponible en la página Detalles del destino de montaje asociado al sistema de archivos. Consulte Getting a Mount Target's Details para obtener más información.
    umount 10.x.x.x:/fs-export-path X:
  2. Abra el editor de registro (regedit):

    • Haga clic en Búsqueda de Windows.
    • Introduzca regedit en el campo Buscar y pulse Intro.
    • Haga clic en para permitir cambios en el dispositivo.
  3. Haga clic en HKEY_LOCAL_MACHINE. A continuación, busque: Software\Microsoft\ClientForNFS\CurrentVersion\Default.
  4. Agregue una nueva entrada de registro DWORD32 para AnonymousGid:

    • Haga clic en Editar y seleccione Nuevo valor de DWORD (32 bits).
    • En el campo Nombre, introduzca AnonymousGid. Deje el valor en 0.
  5. Repita el paso 3 para agregar una segunda entrada de registro DWORD32 denominada AnonymousUid con un valor 0.

  6. Abra la línea de comandos de Windows (CMD) y ejecute como administrador:

    • Vaya a Inicio y desplácese hacia abajo hasta Aplicaciones.
    • En la sección Sistema de Windows, pulse Ctrl+Mayús y haga clic en Símbolo del sistema.
  7. En la ventana de línea de comandos de Windows (CMD), reinicie el cliente NFS escribiendo lo siguiente:

    nfsadmin client stop
    nfsadmin client start
  8. Cierre la ventana Administrador: Símbolo del sistema de Windows (CMD). Abra una ventana de símbolo del sistema estándar:

    • Haga clic en Inicio y, a continuación, en Símbolo del sistema.
    Importante

    Los sistemas de archivos NFS montados como administrador no están disponibles para usuarios estándar.
  9. En la ventana de línea de comandos de Windows (CMD) estándar, monte el sistema de archivos escribiendo lo siguiente. Reemplace 10.x.x.x: por la dirección IP de subred local asignada al destino de montaje, fs-export-path por la ruta de exportación especificada al asociar el sistema de archivos al destino de montaje y X por la letra de unidad de cualquier unidad disponible a la que desee asignar el sistema de archivos.

    mount 10.x.x.x:/fs-export-path X:

Causa 2: un usuario estándar está intentando acceder a un sistema de archivos que se ha montado mediante Administrador: Símbolo del sistema (CMD). Al montar sistemas de archivos, no es necesario ejecutar el símbolo del sistema como administrador.

Solución: desmonte el sistema de archivos y, a continuación, vuelva a montar el sistema de archivos mediante un símbolo del sistema estándar. (CMD)

Para volver a montar un sistema de archivos con un símbolo del sistema estándar (CMD)
  1. Abra la línea de comandos de Windows (CMD) y ejecute como administrador:

    • Vaya a Inicio y desplácese hacia abajo hasta Aplicaciones.
    • En la sección Sistema de Windows, pulse Ctrl+Mayús y haga clic en Símbolo del sistema.
  2. En la ventana Administrador: Línea de comandos (CMD) de Windows, desmonte el sistema de archivos escribiendo lo siguiente. Reemplace 10.x.x.x: por la dirección IP de subred local asignada al destino de montaje, fs-export-path por la ruta de exportación especificada al asociar el sistema de archivos al destino de montaje y X por la letra de unidad de cualquier unidad disponible a la que desee asignar el sistema de archivos.

    Consejo

    La información de la ruta de acceso de exportación y la dirección IP está disponible en la página Detalles del destino de montaje asociado al sistema de archivos. Consulte Getting a Mount Target's Details para obtener más información.
    umount 10.x.x.x:/fs-export-path X:
  3. Cierre la ventana Administrador: Línea de comandos de Windows (CMD).
  4. Abra una ventana de símbolo del sistema estándar:

    • Haga clic en Inicio y, a continuación, en Símbolo del sistema.
  5. En la ventana de línea de comandos estándar (CMD), monte el sistema de archivos escribiendo lo siguiente. Reemplace 10.x.x.x: por la dirección IP de subred local asignada al destino de montaje, fs-export-path por la ruta de exportación especificada al asociar el sistema de archivos al destino de montaje y X por la letra de unidad de cualquier unidad disponible a la que desee asignar el sistema de archivos.

mount 10.x.x.x:/fs-export-path X: