Dlaczego nie mogę nadpisać plików na serwerze QNAP NAS podczas dostępu do niego za pomocą Client for NFS na serwerze Windows?
Produkty, do których ma to zastosowanie
- All QNAP NAS series
- Windows Server (any supported version)
Scenariusz
Użytkownik uzyskuje dostęp do udostępnionego folderu QNAP NAS za pośrednictwem usług plików sieciowych (NFS) z serwera Windows z obsługiwaną wersją. Podczas kopiowania pliku o tej samej nazwie, Windows wyświetla Zastąp lub pomiń pliki komunikat, wskazujący, że na serwerze NAS istnieje już plik.
Jednak po wybraniu Zastąp plik w miejscu docelowym, operacja kończy się niepowodzeniem z powodu odmowy dostępu lub błędu uprawnień, uniemożliwiając nadpisanie lub zaktualizowanie pliku.
Przyczyna
To zachowanie jest znanym ograniczeniem funkcji Klienta dla NFS w systemie Windows Server i jest niezależne od konfiguracji NAS. To samo zachowanie jest obserwowane we wszystkich obsługiwanych wersjach Windows Server, które zawierają Klienta dla NFS.
- Klient dla NFS obsługuje tylko NFSv2 i NFSv3 i nie obsługuje list ACL NFSv4. W rezultacie nie może negocjować ani modyfikować list ACL POSIX przez NFS.
- Domyślnie Klient dla NFS uzyskuje dostęp do udziałów NFS za pomocą anonimowego UID i GID. Jeśli NAS nie przyznaje uprawnień do zapisu tej anonimowej tożsamości, operacje zapisu kończą się niepowodzeniem.
- Dostęp jest odmówiony, chyba że anonimowy UID i GID są jawnie mapowane na UID i GID, które NAS rozpoznaje i pozwala na zapis do udostępnionego folderu, niezależnie od skonfigurowanych uprawnień do zapisu folderu udostępnionego.
Rozwiązanie
Aby rozwiązać ten problem, zmapuj anonimowego użytkownika NFS na serwerze Windows na UID i GID, które NAS pozwala na zapis do udostępnionego folderu.
Możesz zastosować konfigurację za pomocą jednej z następujących metod.
Metoda 1: Konfiguracja za pomocą PowerShell (zalecane)
- Otwórz PowerShell jako administrator.
- Uruchom PowerShell z uprawnieniami administracyjnymi.
- Uruchom następujące polecenia, aby zmapować anonimowy UID i GID na
0, który odpowiada użytkownikowi root 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 - Uruchom następujące polecenie, aby ponownie uruchomić Klienta dla NFS lub zrestartować system, aby zastosować zmiany:
nfsadmin client restartWskazówkaAlternatywnie, możesz ponownie uruchomić serwer Windows.
Metoda 2: Konfiguracja za pomocą rejestru Windows
- Naciśnij Win + R.
- Wpisz
regedit. - Naciśnij Enter.
- Przejdź do następującej ścieżki rejestru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default - Przejdź do Edytuj > N owy, a następnie kliknij Wartość DWORD (32-bitowa).
- Utwórz następujące dwie wartości DWORD (32-bitowe) w folderze domyślnym:
- AnonymousUid = 0
- AnonymousGid = 0
- Zastosuj zmiany, ponownie uruchamiając klienta NFS:
nfsadmin client restart - WskazówkaAlternatywnie, możesz ponownie uruchomić Windows Server.
- Mapowanie UID i GID do
0pozwala klientowi NFS uzyskać dostęp do NAS jako użytkownik root. Upewnij się, że udostępniony folder NAS przyznaje uprawnienia do zapisu tej tożsamości. - Zastosuj te ustawienia na każdym serwerze Windows, który uzyskuje dostęp do udziału NFS.
- Dotyczy to wszystkich wersji Windows, które obsługują funkcję klienta NFS.
- W środowiskach wymagających precyzyjnej kontroli uprawnień lub obsługi ACL NFSv4, serwer Windows działający jako klient NFS nie jest obsługiwany.
Dalsza lektura
Aby uzyskać dalszą pomoc, zapytaj innych użytkowników i ekspertów QNAP na forum społeczności. Przejdź do społeczności QNAP