Non è possibile creare e scrivere nel file system mediante NFS Windows

Informazioni su come risolvere gli errori di creazione o scrittura di file in un file system attivato mediante NFS Windows.

Importante

Prima di procedere con la risoluzione dei problemi, assicurarsi di implementare i prerequisiti riportati di seguito per la connessione ai file system dalle istanze di Windows.

Symptom: dopo l'installazione del client NFS Windows, è possibile attivare correttamente il file system da Windows, ma qualsiasi tentativo di creare o aggiornare un file nel file system non riesce.

Causa 1: le voci del registro che mappano AnonymousGid e AnonymousUid all'utente root sono mancanti o nella posizione errata.

L'accesso ai file system NFS richiede identità di gruppo e utenti di tipo UNIX, diverse dalle identità di utenti e gruppi di Windows. Per consentire agli utenti di accedere alle risorse condivise NFS, il client Windows per NFS accede ai file system in forma anonima, utilizzando AnonymousGid e AnonymousUid. Nei nuovi file system le autorizzazioni di scrittura sono concesse solo all'utente root.

Soluzione: verificare che le voci di registro corrette si trovino in HKEY_LOCAL_MACHINE\Software\Microsoft\ClientForNFS\CurrentVersion\Default. In caso contrario, aggiungere le voci del registro AnonymousGid e AnonymousUid per mapparle all'utente root, quindi rieseguire il MOUNT del file system con i nuovi privilegi utente.

Suggerimento

È possibile verificare che AnonymousGid e AnonymousUid siano impostati correttamente per un file system attivato aprendo una finestra della riga di comando di Windows (CMD) e digitando il comando mount senza alcun argomento. Viene visualizzato un elenco di tutti i file system attivati e delle relative proprietà. I valori AnonymousGid (GID) e AnonymousUid (UID) devono essere visualizzati come 0.

Ad esempio:

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 sono visualizzati come -2, non sono stati impostati correttamente. Procedere con le istruzioni riportate di seguito.

Per mappare AnonymousGid e AnonymousUid all'utente root
  1. Nella finestra della riga di comando di Windows (CMD), disattivare il file system digitando quanto segue. Sostituire 10.x.x.x: con l'indirizzo IP della subnet locale assegnato alla destinazione di accesso, fs-export-path con il percorso di esportazione specificato durante l'associazione del file system alla destinazione di accesso e X con la lettera dell'unità di qualsiasi unità disponibile a cui si desidera mappare il file system.

    Suggerimento

    Le informazioni sull'indirizzo IP e sul percorso di esportazione sono disponibili nella pagina Dettagli della destinazione di accesso associata al file system. Per ulteriori informazioni, vedere Recupero dei dettagli di una destinazione di accesso.
    umount 10.x.x.x:/fs-export-path X:
  2. Apri l'editor del Registro di sistema (regedit):

    • Fare clic su Ricerca in Windows.
    • Immettere regedit nel campo Cerca e premere Invio.
    • Fare clic su per consentire le modifiche al dispositivo.
  3. Fare clic su HKEY_LOCAL_MACHINE. Quindi, passare a: Software\Microsoft\ClientForNFS\CurrentVersion\Default.
  4. Aggiungere una nuova voce di registro DWORD32 per AnonymousGid:

    • Fare clic su Modifica e selezionare Nuovo valore DWORD (32 bit).
    • Nel campo Nome, immettere AnonymousGid. Lasciare il valore in 0.
  5. Ripetere il passo 3 per aggiungere una seconda voce del registro DWORD32 denominata AnonymousUid con il valore 0.

  6. Apri la riga di comando di Windows (CMD) ed esegui come amministratore:

    • Andare a Avvia e scorrere fino a Applicazioni.
    • Nella sezione Sistema Windows, premere Ctrl+Shift e fare clic su Prompt dei comandi.
  7. Nella finestra della riga di comando di Windows (CMD), riavviare il client NFS digitando quanto segue:

    nfsadmin client stop
    nfsadmin client start
  8. Chiudere la finestra Administrator: Windows Command Prompt (CMD). Aprire una finestra del prompt dei comandi standard:

    • Fare clic su Start, quindi su Prompt dei comandi.
    Importante

    I file system NFS attivati come amministratore non sono disponibili per gli utenti standard.
  9. Nella finestra standard della riga di comando di Windows (CMD), montare il file system digitando quanto segue. Sostituire 10.x.x.x: con l'indirizzo IP della subnet locale assegnato alla destinazione di accesso, fs-export-path con il percorso di esportazione specificato durante l'associazione del file system alla destinazione di accesso e X con la lettera dell'unità di qualsiasi unità disponibile a cui si desidera mappare il file system.

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

Causa 2: un utente standard sta tentando di accedere a un file system di cui è stato eseguito il MOUNT con il comando Administrator: Command Prompt (CMD). Durante il MOUNT dei file system, non è necessario eseguire il prompt dei comandi come amministratore.

Soluzione: disattivare il file system, quindi rieseguire il MOUNT del file system utilizzando un prompt dei comandi standard. (CMD)

Per riattivare un file system con un prompt dei comandi standard (CMD, Standard Command Prompt)
  1. Apri la riga di comando di Windows (CMD) ed esegui come amministratore:

    • Andare a Avvia e scorrere fino a Applicazioni.
    • Nella sezione Sistema Windows, premere Ctrl+Shift e fare clic su Prompt dei comandi.
  2. Nella finestra Administrator: Windows Command Line (CMD), disattivare il file system digitando quanto segue. Sostituire 10.x.x.x: con l'indirizzo IP della subnet locale assegnato alla destinazione di accesso, fs-export-path con il percorso di esportazione specificato durante l'associazione del file system alla destinazione di accesso e X con la lettera dell'unità di qualsiasi unità disponibile a cui si desidera mappare il file system.

    Suggerimento

    Le informazioni sull'indirizzo IP e sul percorso di esportazione sono disponibili nella pagina Dettagli della destinazione di accesso associata al file system. Per ulteriori informazioni, vedere Recupero dei dettagli di una destinazione di accesso.
    umount 10.x.x.x:/fs-export-path X:
  3. Chiudere la finestra Amministratore: riga di comando di Windows (CMD).
  4. Aprire una finestra del prompt dei comandi standard:

    • Fare clic su Start, quindi su Prompt dei comandi.
  5. Nella finestra standard CMD (Command Line), attivare il file system digitando il seguente comando. Sostituire 10.x.x.x: con l'indirizzo IP della subnet locale assegnato alla destinazione di accesso, fs-export-path con il percorso di esportazione specificato durante l'associazione del file system alla destinazione di accesso e X con la lettera dell'unità di qualsiasi unità disponibile a cui si desidera mappare il file system.

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