¿Por qué no puedo sobrescribir archivos en un NAS QNAP cuando accedo a él a través de Client for NFS en un Windows Server?
Productos aplicables
- All QNAP NAS series
- Windows Server (any supported version)
Escenario
Un usuario accede a una carpeta compartida de QNAP NAS a través de los Servicios de archivos de red (NFS) desde un Windows Server que ejecuta una versión compatible. Al copiar un archivo con el mismo nombre, Windows muestra el Reemplazar o omitir archivos mensaje, indicando que hay un archivo existente en el NAS.
Sin embargo, después de seleccionar Reemplazar el archivo en el destino, la operación falla con un error de acceso denegado o de permisos, impidiendo que el archivo sea sobrescrito o actualizado.
Causa raíz
Este comportamiento es una limitación conocida de la función Cliente para NFS en Windows Server y es independiente de la configuración del NAS. Se observa el mismo comportamiento en todas las versiones compatibles de Windows Server que incluyen Cliente para NFS.
- El Cliente para NFS solo admite NFSv2 y NFSv3 y no admite ACLs de NFSv4. Como resultado, no puede negociar ni modificar ACLs POSIX sobre NFS.
- Por defecto, el Cliente para NFS accede a los recursos compartidos NFS utilizando un UID y GID anónimos. Si el NAS no concede permisos de escritura a esta identidad anónima, las operaciones de escritura fallan.
- El acceso es denegado a menos que el UID y GID anónimos se asignen explícitamente a un UID y GID que el NAS reconozca y permita escribir en la carpeta compartida, independientemente de los permisos de escritura configurados de la carpeta compartida.
Solución
Para resolver este problema, asigne el usuario anónimo de NFS en el Windows Server a un UID y GID que el NAS permita escribir en la carpeta compartida.
Puede aplicar la configuración utilizando uno de los siguientes métodos.
Método 1: Configurar usando PowerShell (Recomendado)
- Abra PowerShell como un administrador.
- Inicie PowerShell con privilegios administrativos.
- Ejecute los siguientes comandos para asignar el UID y GID anónimos a
0, que corresponde al usuario root de QNAP.Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" -Name AnonymousUid -Value 0 -PropertyType DWord Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" -Name AnonymousGid -Value 0 -PropertyType DWord - Ejecute el siguiente comando para reiniciar el Cliente para NFS o reinicie el sistema para aplicar los cambios:
nfsadmin client restartConsejoAlternativamente, puede reiniciar el Windows Server.
Método 2: Configurar usando el Registro de Windows
- Presione Win + R.
- Escriba
regedit. - Presione Enter.
- Navegue a la siguiente ruta del registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default - Vaya a Editar > N uevo, y luego haga clic en Valor DWORD (32 bits).
- Crear los siguientes dos valores DWORD (32 bits) dentro de la carpeta predeterminada:
- AnonymousUid = 0
- AnonymousGid = 0
- Aplique los cambios reiniciando el cliente NFS:
nfsadmin client restart - ConsejoAlternativamente, puede reiniciar el Windows Server.
- Mapear el UID y GID a
0permite que el Cliente para NFS acceda al NAS como usuario root. Asegúrese de que la carpeta compartida del NAS otorgue permisos de escritura a esta identidad. - Aplique estos ajustes en cada Windows Server que acceda al recurso compartido NFS.
- Esto se aplica a todas las versiones de Windows que admiten la función Cliente para NFS.
- Para entornos que requieren control de permisos detallado o soporte de ACL NFSv4, Windows Server actuando como cliente NFS no es compatible.
Lectura adicional
Para obtener más ayuda, pregunte a otros usuarios y a los expertos de QNAP en la comunidad. Ir a la comunidad de QNAP