
Moderne Windows-Versionen enthalten einen integrierten NFS-Client. Diese Windows-Funktion ermöglicht das direkte Mounten von NFS-Verzeichnissen von Linux-Hosts oder NAS-Geräten. Es bietet transparenten Zugriff auf Dateien und Ordner auf NFS-Volumes über den Windows-Datei-Explorer, ähnlich dem Zugriff auf SMB-zugeordnete Laufwerke. In dieser Anleitung wird erläutert, wie Sie den NFS-Client in Windows aktivieren, ein NFS-Netzwerkvolume bereitstellen und die Zuordnung von Windows-Benutzern zur Linux-UID/GID durchführen
So aktivieren Sie einen NFS-Client unter Windows
In allen Windows-Versionen ab Windows 10 ist ein integrierter NFS-Client verfügbar. Er ermöglicht Benutzern das direkte Mounten von NFS-Netzwerkvolumes. Standardmäßig ist der NFS-Client nicht installiert. Sie können es über die Systemsteuerung von Windows-Funktionen aktivieren: Führen Sie den Befehl ( optionalfeatures.exe aus, erweitern Sie Dienste für NFS und aktivieren Sie den Client für NFS einschließlich der Verwaltungstools.

Oder Sie können die optionale Funktion des NFS-Clients mit PowerShell aktivieren.
Auf den Desktop-Betriebssystemen (Windows 10 und 11):
Enable-WindowsOptionalFeature-FeatureName ServicesForNFS-ClientOnly, ClientForNFS-Infrastructure-Online-NoRestart
Auf Windows Server:
„Install-WindowsFeature NFS-Client“.

Listen Sie die verfügbaren NFS-Client-Einstellungen in Windows auf:
„Get-NfsClientConfiguration“.

Mounten Sie eine NFS-Freigabe unter Windows mit dem Datei-Explorer, PowerShell oder CMD
Das Mounten von NFS-Netzwerkvolumes in Windows ist über die grafische Benutzeroberfläche von Windows Explorer möglich, ähnlich wie beim Zuordnen standardmäßiger freigegebener Netzwerkordner (SMB-Freigaben). Wählen Sie im Datei-Explorer die Option „Netzlaufwerk zuordnen“, geben Sie den Netzwerkpfad zur NFS-Freigabe an (verwenden Sie das UNC-Format, zum Beispiel „\192.168.123.123\nfsshare“) und geben Sie den zuzuweisenden Treiberbuchstaben an.

Allerdings ist es in diesem Modus nicht möglich, zusätzliche Optionen zum Mounten der NFS-Freigabe festzulegen.
Es ist bequemer, NFS-Freigaben über die Eingabeaufforderung bereitzustellen, indem Sie Folgendes verwenden:
mount.exeKonsolenbefehl- „New-PSdrive“ PowerShell-Cmdlet
mount.exe ). Dies liegt daran, dass in PowerShell die
montieren
command ist ein Alias für den
Neu-PSDrive
Cmdlet.
Wenn Sie den Mount-Befehl über die PowerShell-Eingabeaufforderung oder das Windows-Terminal ausführen, stellen Sie sicher, dass Sie seinen Namen zusammen mit der Erweiterung angeben (d. h.). Dies liegt daran, dass in PowerShell der Befehl ein Alias für das Cmdlet ist.

Öffnen Sie als aktueller Benutzer eine Eingabeaufforderung (oder eine PowerShell-Konsole). Führen Sie es nicht als Administrator aus, da sonst das bereitgestellte NFS-Laufwerk im Datei-Explorer des Benutzers nicht sichtbar ist (weitere Einzelheiten finden Sie im Beitrag „Zugriff auf im Netzwerk zugeordnete Laufwerke mit Administratorrechten“).
Führen Sie den folgenden Befehl aus, um die NFS-Freigabe bereitzustellen:
mount.exe-o anon \\192.168.123.123\nfsshare N:

-o anon– Mounten eines NFS-Ordners mit einem anonymen Benutzer192.168.123.123– der DNS-Name oder die IP-Adresse des NFS-Servers- „/nfsshare“ – lokaler Pfad zu einem Verzeichnis auf dem NFS-Server. Wenn Sie einen Linux-Host mit NFSv3 als NFS-Server verwenden, geben Sie den vollständigen lokalen Pfad zum NFS-Verzeichnis vom Stammverzeichnis des Dateisystems aus an. Zum Beispiel: „srv01:/mnt/nfs/public“.
N:– der Laufwerksbuchstabe, den Sie dem zugeordneten Ordner zuweisen möchten
Um die Kompatibilität mit Linux zu verbessern, das im Gegensatz zu Windows Datei- und Verzeichnisnamen verwendet, bei denen die Groß-/Kleinschreibung beachtet wird, fügen Sie die Option „casesensitive=yes“ hinzu.
Oder verwenden Sie das PowerShell-Äquivalent des NFS-Mount-Befehls:
New-PSdrive-PSProvider FileSystem-Name N-Root \\192.168.123.123\nfsshare-Persist

Verwenden Sie die Option „Persist“, um sicherzustellen, dass die NFS-Verzeichnisverbindung nach einem Neustart des Computers automatisch wiederhergestellt wird (der Befehl „mount.exe“ verfügt nicht über diese Option).
Beachten Sie, dass Explorer in den Eigenschaften von Objekten im NFS-Ordner eine neue Registerkarte „NFS-Attribute“ anzeigt. Dort finden Sie Informationen zu Dateiberechtigungen und Eigentümern.

Beachten Sie, dass Dateien auf NFS-Netzwerkfreigaben mit kyrillischen, asiatischen, westeuropäischen oder anderen nicht-lateinischen Zeichen möglicherweise überhaupt nicht angezeigt werden oder als verstümmelter Text (Mojibake) angezeigt werden. Dies liegt daran, dass der integrierte Microsoft NFS-Client standardmäßig eine ältere ANSI-Codepage anstelle von Unicode für die Dateinamenübersetzung verwendet. Um dieses Problem zu umgehen, können Sie die UTF-8-Unterstützung in Windows aktivieren (das sich noch in der Betaphase befindet): Öffnen Sie „intl.cpl“ -> Verwaltung -> Systemgebietsschema ändern -> aktivieren Sie die Option „Beta: Unicode UTF-8 für weltweite Sprachunterstützung verwenden“.

Hängen Sie die NFS-Netzwerkfreigabe aus:
Remove-PSDrive N
oder
umount.exe M:\
Führen Sie den Befehl mount.exe aus, um die Optionen anzuzeigen, mit denen das NFS-Verzeichnis gemountet wird.

Beim anonymen Herstellen einer Verbindung zu einem NFS-Server verwendet Windows standardmäßig UID=-2 und GID=-2, um den aktuellen Benutzer einem Benutzer auf dem NFS-Server zuzuordnen. Wenn Sie eine bestimmte Linux-UID (Benutzer-ID) und GID (Gruppen-ID) zum anonymen Mounten eines NFS-Volumes verwenden möchten, können Sie diese Werte in den Parametern AnonymousUid und AnonymousGid des Registrierungsschlüssels „HKLM\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default“ überschreiben.
Die folgenden Optionen zwingen den NFS-Client beispielsweise dazu, „UID=0“ und „GID=0“ (den Linux-Benutzer „root“) für anonyme Verbindungen anstelle der Standardeinstellung 2 zu verwenden.
` reg add „HKLM\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default“/v AnonymousUid/t REG_DWORD/d 00000000/f
reg add “HKLM\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default”/v AnonymousGid/t REG_DWORD/d 00000000/f `

Nachdem Sie die Änderung vorgenommen haben, starten Sie die NFS-Dienste neu:
Restart-Service nfsrdr,nfsclnt-Force
Konfigurieren Sie die NFS-Client-Zuordnung von Windows-Benutzern zu Linux-Benutzern/-Gruppen
Allerdings ist der anonyme NFS-Zugriff nicht sicher. Es ist besser, die Zuordnung von Windows-Benutzern zu Linux-Benutzer-UID und -GID zu konfigurieren.
So aktivieren Sie die Benutzerzuordnung in der AD-Domäne:
` Set-NfsMappingStore-EnableADLookup $true
Set-NfsMappedIdentity-MappingStore AD-UserName „j.smith“-UserIdentifier 1000-GroupIdentifier 100 `
Die Parameterwerte „uidnumber“ und „gidnumber“ in den AD-Benutzerattributen können auch bearbeitet werden
Set-ADUser-identity j.smith-replace @{uidNumber="";gidNumber=""}
Sie können die UID und GID eines Benutzers unter Linux mit dem folgenden Befehl abrufen:
$ id Benutzername
Auf eigenständigen Computern (in Arbeitsgruppen oder wenn Sie keine AD-Zuordnung verwenden möchten) können Sie die Zuordnung von Windows-Benutzernamen zu Unix-UID/GID über die Passwd- und Gruppendateien im Verzeichnis C:\Windows\System32\drivers\etc konfigurieren.
Zum Beispiel für einen lokalen Benutzer „maxadm1“:
Zur passwd-Datei hinzufügen:
user1:x:1000:100:maxadm1:C:\Users\maxadm1
Dateigruppe:
users:x:100:maxadm1
Um die Zuordnung eines bestimmten Windows-Benutzers zu einer Linux-UID/GID zu überprüfen, verwenden Sie den folgenden Befehl:
„Get-NfsMappedIdentity-AccountName user1-AccountType Benutzer“.

Der NFS-Serverdienst kann auf der Windows Server-Plattform installiert werden. Zu diesem Zweck gibt es eine separate integrierte Dateiserver-Rollenfunktion.
*️⃣ Quelllink:
Install-WindowsFeature, Zugriff auf im Netzwerk zugeordnete Laufwerke mit Administratorrechten, , , AD-Benutzerattribute, Set-ADUser,