Por que não consigo substituir ficheiros num NAS QNAP ao aceder através do Cliente para NFS num Windows Server?
Produtos Aplicáveis
- All QNAP NAS series
- Windows Server (any supported version)
Cenário
Um utilizador acede a uma pasta partilhada do NAS QNAP através dos Serviços de Ficheiros de Rede (NFS) a partir de um Windows Server com uma versão suportada. Ao copiar um ficheiro com o mesmo nome, o Windows apresenta o Substituir ou Ignorar Ficheiros indicação de que existe um ficheiro existente no NAS.
No entanto, após selecionar Substituir o ficheiro no destino, a operação falha com um erro de acesso negado ou de permissão, impedindo que o ficheiro seja substituído ou atualizado.
Causa Raiz
Este comportamento é uma limitação conhecida da funcionalidade Cliente para NFS no Windows Server e é independente da configuração do NAS. O mesmo comportamento é observado em todas as versões suportadas do Windows Server que incluem Cliente para NFS.
- O Cliente para NFS suporta apenas NFSv2 e NFSv3 e não suporta ACLs NFSv4. Como resultado, não pode negociar ou modificar ACLs POSIX sobre NFS.
- Por defeito, o Cliente para NFS acede a partilhas NFS utilizando um UID e GID anónimos. Se o NAS não conceder permissões de escrita a esta identidade anónima, as operações de escrita falham.
- O acesso é negado a menos que o UID e GID anónimos sejam explicitamente mapeados para um UID e GID que o NAS reconheça e permita escrever na pasta partilhada, independentemente das permissões de escrita configuradas na pasta partilhada.
Solução
Para resolver este problema, mapeie o utilizador NFS anónimo no Windows Server para um UID e GID que o NAS permita escrever na pasta partilhada.
Pode aplicar a configuração utilizando um dos seguintes métodos.
Método 1: Configurar Usando PowerShell (Recomendado)
- Abrir PowerShell como um administrador.
- Iniciar PowerShell com privilégios administrativos.
- Execute os seguintes comandos para mapear o UID e GID anónimos para
0, que corresponde ao utilizador root do 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 - Execute o seguinte comando para reiniciar o Cliente para NFS ou reiniciar o sistema para aplicar as alterações:
nfsadmin client restartSugestãoAlternativamente, pode reiniciar o Windows Server.
Método 2: Configurar Usando o Registo do Windows
- Pressione Win + R.
- Escreva
regedit. - Pressione Enter.
- Navegue até ao seguinte caminho de registo:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default - Vá a Editar > N ovo, e depois clique em Valor DWORD (32 bits).
- Crie os seguintes dois valores DWORD (32 bits) dentro da pasta padrão:
- AnonymousUid = 0
- AnonymousGid = 0
- Aplique as alterações reiniciando o cliente NFS:
nfsadmin client restart - SugestãoAlternativamente, pode reiniciar o Windows Server.
- Mapear o UID e o GID para
0permite que o Cliente para NFS aceda ao NAS como utilizador root. Certifique-se de que a pasta partilhada do NAS concede permissões de escrita a esta identidade. - Aplique estas definições em cada Windows Server que aceda à partilha NFS.
- Isto aplica-se a todas as versões do Windows que suportam a funcionalidade Cliente para NFS.
- Para ambientes que requerem controlo de permissões detalhado ou suporte de ACL NFSv4, o Windows Server a atuar como cliente NFS não é suportado.
Leitura Adicional
Para obter mais ajuda, pergunte a outros utilizadores e aos especialistas da QNAP na comunidade. Ir para a Comunidade QNAP