Falha ao Criar e Gravar no Sistema de Arquivos usando o NFS do Windows

Saiba como diagnosticar e solucionar problemas de falhas para criar ou gravar arquivos em um sistema de arquivos montado usando o NFS do Windows.

Importante

Antes de continuar com o diagnóstico e solução de problemas, implemente os seguintes pré-requisitos para estabelecer conexão com sistemas de arquivos em instâncias do Windows:

Sintoma: Depois de instalar o cliente NFS do Windows, você pode montar com sucesso o sistema de arquivos do Windows, mas haverá falha em qualquer tentativa de criar ou atualizar um arquivo no sistema de arquivos.

Causa 1: As entradas de registro que mapeiam AnonymousGid e AnonymousUid para o usuário raiz estão ausentes ou no lugar errado.

O acesso aos sistemas de arquivos NFS requer identidades de usuário e grupo do tipo UNIX, que não são iguais às identidades de usuário e grupo do Windows. Para permitir que os usuários acessem recursos compartilhados NFS, o cliente Windows para NFS acessa os sistemas de arquivos anonimamente, usando AnonymousGid e AnonymousUid. Em novos sistemas de arquivos, as permissões de gravação são concedidas apenas ao usuário raiz.

Solução: Verifique se as entradas corretas de registro estão localizadas em HKEY_LOCAL_MACHINE\Software\Microsoft\ClientForNFS\CurrentVersion\Default. Se não estiverem, adicione as entradas de registro AnonymousGid e AnonymousUid para mapeá-las para o usuário raiz e, em seguida, remonte o sistema de arquivos com os novos privilégios do usuário.

Dica

Você pode verificar se AnonymousGid e AnonymousUid estãodefinidos corretamente para um sistema de arquivos montado abrindo uma janela Linha de Comando do Windows (CMD) e digitando o comando mount sem argumentos. Uma lista de todos os sistemas de arquivos montados e suas propriedades é mostrada. Os valores AnonymousGid (GID) e AnonymousUid (UID) devem aparecer como 0.

Por exemplo:

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

Se eles aparecerem como -2, é porque não foram definidos corretamente. Prossiga com as instruções abaixo.

Para mapear o AnonymousGid e o AnonymousUid para o usuário raiz
  1. Na janela Linha de Comando do Windows (CMD), desmonte o sistema de arquivos digitando o seguinte. Substitua 10.x.x.x: pelo endereço IP da sub-rede local designado para o ponto de acesso NFS, fs-export-path pelo caminho de exportação especificado ao associar o sistema de arquivos ao ponto de acesso NFS e X pela letra da unidade de qualquer unidade disponível para a qual você deseja mapear o sistema de arquivos.

    Dica

    As informações sobre o endereço IP e o caminho de exportação estão disponíveis na página Detalhes do ponto de acesso NFS associado ao seu sistema de arquivos. Consulte Obtendo Detalhes de um Ponto de Acesso NFS para obter mais informações.
    umount 10.x.x.x:/fs-export-path X:
  2. Abra o editor do registro (regedit):

    • Clique em Windows Search.
    • Digite regedit no campo Pesquisar e pressione Enter.
    • Clique em Sim para permitir alterações no seu dispositivo.
  3. Clique em HKEY_LOCAL_MACHINE. Em seguida, navegue até: Software\Microsoft\ClientForNFS\CurrentVersion\Default.
  4. Adicione uma nova entrada de registro DWORD32 para AnonymousGid:

    • Clique em Editar e selecione Novo Valor DWORD (32 bits).
    • No campo Nome, digite AnonymousGid. Deixe o valor em 0.
  5. Repita a etapa 3 para adicionar uma segunda entrada de registro DWORD32 denominada AnonymousUid com o valor 0.

  6. Abra a Linha de Comando do Windows (CMD) e execute como Administrador:

    • Vá para Iniciar e role para baixo até Aplicativos.
    • Na seção Sistema do Windows, pressione Ctrl+Shift e clique em Prompt de Comando.
  7. Na janela Linha de Comando do Windows (CMD), reinicie o Cliente NFS digitando o seguinte:

    nfsadmin client stop
    nfsadmin client start
  8. Feche a janela Administrador: Prompt de Comando do Windows (CMD). Abra uma Janela de Prompt de Comando padrão:

    • Clique em Iniciar e, em seguida, clique em Prompt de Comando.
    Importante

    Os sistemas de arquivos NFS montados como Administrador não estão disponíveis para usuários padrão.
  9. Na janela padrão da Linha de Comando do Windows (CMD), monte o sistema de arquivos digitando o seguinte. Substitua 10.x.x.x: pelo endereço IP da sub-rede local designado para o ponto de acesso NFS, fs-export-path pelo caminho de exportação especificado ao associar o sistema de arquivos ao ponto de acesso NFS e X pela letra da unidade de qualquer unidade disponível para a qual você deseja mapear o sistema de arquivos.

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

Causa 2: Um usuário padrão está tentando acessar um sistema de arquivos montado usando o Administrator: Prompt de Comando (CMD). Ao montar sistemas de arquivos, não é necessário executar o Prompt de Comando como Administrador.

Solução: Desmonte o sistema de arquivos e remonte-o usando um Prompt de Comando padrão. (CMD)

Para remontar um sistema de arquivos com um CMD (Prompt de Comando) padrão
  1. Abra a Linha de Comando do Windows (CMD) e execute como Administrador:

    • Vá para Iniciar e role para baixo até Aplicativos.
    • Na seção Sistema do Windows, pressione Ctrl+Shift e clique em Prompt de Comando.
  2. Na janela Administrador: Linha de Comando do Windows (CMD), desmonte o sistema de arquivos digitando o seguinte. Substitua 10.x.x.x: pelo endereço IP da sub-rede local designado para o ponto de acesso NFS, fs-export-path pelo caminho de exportação especificado ao associar o sistema de arquivos ao ponto de acesso NFS e X pela letra da unidade de qualquer unidade disponível para a qual você deseja mapear o sistema de arquivos.

    Dica

    As informações sobre o endereço IP e o caminho de exportação estão disponíveis na página Detalhes do ponto de acesso NFS associado ao seu sistema de arquivos. Consulte Obtendo Detalhes de um Ponto de Acesso NFS para obter mais informações.
    umount 10.x.x.x:/fs-export-path X:
  3. Feche a janela Administrador: Linha de Comando do Windows (CMD).
  4. Abra uma Janela de Prompt de Comando padrão:

    • Clique em Iniciar e, em seguida, clique em Prompt de Comando.
  5. Na janela padrão da Linha de Comando (CMD), monte o sistema de arquivos digitando o seguinte. Substitua 10.x.x.x: pelo endereço IP da sub-rede local designado para o ponto de acesso NFS, fs-export-path pelo caminho de exportação especificado ao associar o sistema de arquivos ao ponto de acesso NFS e X pela letra da unidade de qualquer unidade disponível para a qual você deseja mapear o sistema de arquivos.

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