Mounten von NFS-Freigaben in Windows mithilfe des integrierten Clients

/de/images/enable-nfs-client-on-windows-11-or-10.png

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.

/de/images/enable-nfs-client-on-windows-11-or-10.png.webp

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“.

/de/images/enable-windowsoptionalfeature-servicesfornfs-clien.png.webp

Listen Sie die verfügbaren NFS-Client-Einstellungen in Windows auf:

„Get-NfsClientConfiguration“.

/de/images/get-nfsclientconfiguration.png.webp

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.

/de/images/mount-nfs-share-via-file-explorer-gui.png.webp

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.exe Konsolenbefehl
  • „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.

/de/images/mount-command-is-an-alias-for-new-psdrive-cmdlet.png.webp

Ö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:

/de/images/mount-exe-o-anon-nfs-share.png.webp

  • -o anon – Mounten eines NFS-Ordners mit einem anonymen Benutzer
  • 192.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

/de/images/new-psdrive-mount-nfs-volume-using-powershell.png.webp

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.

/de/images/nfs-file-attributes-is-file-explorer-on-windows.png.webp

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“.

/de/images/beta-use-unicode-utf-8-for-worldwide-language-sup.png.webp

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.

/de/images/mount-exe-default-uid-user-id-and-gid-group-id.png.webp

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 `

/de/images/change-anonymousuid-and-anonymousgid-in-the-regist.png.webp

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“.

/de/images/get-nfsmappedidentity-get-mapping-of-a-windows-u.png.webp

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,