Warum kann ich keine Dateien auf einem QNAP NAS überschreiben, wenn ich über Client für NFS auf einem Windows Server darauf zugreife?
Anwendbare Produkte
- All QNAP NAS series
- Windows Server (any supported version)
Szenario
Ein Benutzer greift über Network File Services (NFS) von einem Windows Server mit unterstützter Version auf einen freigegebenen Ordner eines QNAP NAS zu. Beim Kopieren einer Datei mit demselben Namen zeigt Windows die Dateien ersetzen oder überspringen Aufforderung an, die darauf hinweist, dass eine vorhandene Datei auf dem NAS vorhanden ist.
Nachdem jedoch Datei im Ziel ersetzen ausgewählt wurde, schlägt der Vorgang mit einem Zugriff verweigert oder Berechtigungsfehler fehl, wodurch verhindert wird, dass die Datei überschrieben oder aktualisiert wird.
Ursache
Dieses Verhalten ist eine bekannte Einschränkung der Client für NFS-Funktion in Windows Server und ist unabhängig von der NAS-Konfiguration. Das gleiche Verhalten wird bei allen unterstützten Windows Server-Versionen beobachtet, die Client für NFS enthalten.
- Client für NFS unterstützt nur NFSv2 und NFSv3 und unterstützt keine NFSv4 ACLs. Daher kann es keine POSIX ACLs über NFS aushandeln oder ändern.
- Standardmäßig greift Client für NFS mit einem anonymen UID und GID auf NFS-Freigaben zu. Wenn das NAS dieser anonymen Identität keine Schreibberechtigungen gewährt, schlagen Schreiboperationen fehl.
- Der Zugriff wird verweigert, es sei denn, die anonymen UID und GID werden explizit einer UID und GID zugeordnet, die das NAS erkennt und erlaubt, in den freigegebenen Ordner zu schreiben, unabhängig von den konfigurierten Schreibberechtigungen des freigegebenen Ordners.
Lösung
Um dieses Problem zu lösen, ordnen Sie den anonymen NFS-Benutzer auf dem Windows Server einer UID und GID zu, die das NAS erlaubt, in den freigegebenen Ordner zu schreiben.
Sie können die Konfiguration mit einer der folgenden Methoden anwenden.
Methode 1: Konfiguration mit PowerShell (Empfohlen)
- Öffnen Sie PowerShell als Administrator.
- Starten Sie PowerShell mit administrativen Rechten.
- Führen Sie die folgenden Befehle aus, um die anonymen UID und GID zuzuordnen
0, die dem QNAP root Benutzer entspricht.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 - Führen Sie den folgenden Befehl aus, um Client für NFS neu zu starten oder das System neu zu starten, um die Änderungen anzuwenden:
nfsadmin client restartTippAlternativ können Sie den Windows Server neu starten.
Methode 2: Konfiguration über die Windows-Registrierung
- Drücken Sie Win + R.
- Typ
regedit. - Drücken Sie Enter.
- Navigieren Sie zu folgendem Registrierungspfad:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default - Gehen Sie zu Bearbeiten > N eu, und klicken Sie dann auf DWORD (32-Bit) Wert.
- Erstellen Sie die folgenden zwei DWORD (32-Bit) Werte im Standardordner:
- AnonymousUid = 0
- AnonymousGid = 0
- Wenden Sie die Änderungen an, indem Sie den NFS-Client neu starten:
nfsadmin client restart - TippAlternativ können Sie den Windows Server neu starten.
- Das Zuordnen der UID und GID zu
0ermöglicht es Client für NFS, als Root-Benutzer auf das NAS zuzugreifen. Stellen Sie sicher, dass der freigegebene NAS-Ordner Schreibberechtigungen für diese Identität gewährt. - Wenden Sie diese Einstellungen auf jeden Windows Server an, der auf die NFS-Freigabe zugreift.
- Dies gilt für alle Windows-Versionen, die die Client für NFS-Funktion unterstützen.
- Für Umgebungen, die eine fein abgestimmte Berechtigungskontrolle oder NFSv4 ACL-Unterstützung erfordern, wird Windows Server als NFS-Client nicht unterstützt.
Weiterführende Literatur
Für weitere Unterstützung fragen Sie andere Anwender und QNAP-Experten in der Community. Zur QNAP Community