NFS ist das gebräuchlichste Protokoll für die gemeinsame Nutzung von Dateien zwischen Unix-Systemen über ein Netzwerk. NFS-Server exportieren Verzeichnisse von ihren lokalen Festplatten an NFS-Clients, die sie mounten, sodass auf sie wie auf jedes andere Verzeichnis zugegriffen werden kann. Im Gegensatz zu anderen File-Sharing-Protokollen wie Windows Networking, Netware und AppleShare wurde NFS entwickelt, um Client-Systeme mit mehreren Benutzern zu unterstützen. Dies bedeutet, dass sich ein Client niemals bei einem Server anmeldet und dass der Server dem Client fast vollständig vertraut, um Benutzer zu authentifizieren. Der Nachteil ist, dass NFS kein gutes Protokoll für die gemeinsame Nutzung von Dateien mit Client-Systemen ist, denen nicht vollständig vertraut wird.
Anstatt Benutzernamen und Passwörter zur Authentifizierung zu verwenden, verwendet NFS die IP-Adresse des Clients. Nur vertrauenswürdige Clients dürfen Verzeichnisse vom Server mounten, sodass er nicht anfällig für unbefugten Dateizugriff von Clients im Netzwerk ist. Etwas zusätzliche Sicherheit kann erreicht werden, indem der Zugriff bestimmter Unix-Benutzer auf einen Client eingeschränkt wird oder alle Anfragen von einem Client als ein einziger Benutzer behandelt werden.
Unter Linux ist die Datei /etc/exports -Datei enthält eine permanente Liste der von NFS exportierten Verzeichnisse und der Clients, an die sie exportiert werden. Normalerweise wird diese Datei beim Booten von den Programmen nfsd und mountd gelesen, die im Hintergrund laufen, um NFS-Anforderungen zu bedienen. Wenn Sie Exporte mit Webmin ändern oder erstellen, wird die Exportdatei direkt aktualisiert.
Unter Linux erfolgt die NFS-Serverkonfiguration mithilfe der NFS-Exporte Modul, das unter der Kategorie Networking zu finden ist. Nach Aufrufen des Moduls zeigt die Hauptseite eine Liste der exportierten Verzeichnisse und der Clients, die darauf zugreifen dürfen, wie unten gezeigt:
NFS ohne exportiertes DateisystemBei den meisten Linux-Distributionen sind die für die NFS-Dateifreigabe erforderlichen Programme standardmäßig installiert. Wenn Webmin jedoch feststellt, dass sie in Ihrem System fehlen, wird beim Aufrufen des Moduls eine Fehlermeldung angezeigt. In diesem Fall müssen Sie den nfs-server installieren oder nfs Paket.
Inhalt
Verzeichnis exportieren
Nur Verzeichnisse auf lokalen Dateisystemen können über NFS exportiert werden, daher ist es nicht möglich, Dateien erneut zu exportieren, die von einem anderen NFS-Server gemountet wurden. Es ist auch nicht möglich, Verzeichnisse von Nicht-Unix-Dateisystemen wie vfat, ntfs oder iso-9660 zu exportieren. Wenn ein exportiertes Verzeichnis Mount-Punkte enthält, können NFS-Clients nicht auf Dateien unter diesen Mount-Punkten zugreifen. Wenn Sie also das Stammverzeichnis / exportiert haben und ein separates Dateisystem unter /home gemountet haben , müssten Sie auch /home exportieren und Clients müssten es mounten, um die Dateien darunter zu sehen.
NFS v4-Export erstellenDetails exportieren
- Zu exportierendes Verzeichnis
- Anstatt eine Reihe unterschiedlicher Exporte zu mounten, sieht ein NFSv4-Client die Exporte des NFSv4-Servers als in einem einzigen Dateisystem vorhanden, das als NFSv4-Pseudodateisystem bezeichnet wird. Für NFSv4 wird dieses Verzeichnis also zuerst (mit mount --bind) in das NFSv4-Pseudodateisystem gemountet, das Pseudodateisystem wird exportiert (falls nicht), dann das Verzeichnis.
Es ist vorzuziehen, dieses Verzeichnis zu exportieren, ohne es zu verstecken, damit der Client sich darin bewegen kann, ohne es zu mounten.
Im Gegensatz zu anderen NFS-Servern unterstützt Linux den erneuten Export eines Verzeichnisses, das von einem anderen Host per NFS gemountet wurde, sowie das Exportieren eines Verzeichnisses, das Mount-Punkte für andere Dateisysteme enthält. - NFSv4-Pseudodateisystem zum Exportieren
- nur NSFv4 Normalerweise die /export Verzeichnis wird verwendet, um exportierte NFS-Verzeichnisse zu mounten. Ein entsprechender Eintrag in /etc/fstab wird beim Erstellen eines nfsv4-Exports innerhalb eines Pseudodateisystems erstellt.
- Aktiv
- Stellen Sie sicher, dass die Option auf Ja eingestellt ist, es sei denn, Sie möchten, dass der Export nicht verfügbar ist .
- Exportieren nach
- Wählen Sie, welche Clients Zugriff auf das Verzeichnis haben. Die möglichen Optionen sind :
- Alle Jedes System, das sich über das Netzwerk mit Ihrem verbinden kann, kann das Verzeichnis einhängen. Seien Sie bei dieser Auswahl sehr vorsichtig, da dadurch jeder im Internet auf Ihre Dateien zugreifen kann.
- Host(s) Nur der einzelne angegebene Host oder die IP-Adresse ist zulässig. Sie können auch einen Platzhalter-Hostnamen wie *.foo.com eingeben damit diese Option alle Hosts einer Domäne zulässt. Wenn Sie jedoch ein Verzeichnis auf mehrere spezifische Client-Hosts exportieren möchten, besteht die einzige Lösung darin, mehrere Exporte desselben Verzeichnisses mit jeweils unterschiedlichen Hostnamen in diesem Feld zu erstellen.
- NIS-Netzgruppe Eine Netzgruppe ist eine Liste von Hosts, die auf einem NIS-Server definiert ist. Ihr System muss ein NIS-Client sein, damit dies nützlich ist.
- IPv4-Netzwerk Alle Hosts im angegebenen Netzwerk dürfen sich verbinden. Um alle Hosts mit IP-Adressen von 192.168.1.0 zuzulassen bis 192.168.1.255 , würden Sie 192.168.1.0 eingeben für das Netzwerk und 255.255.255.0 für die Netzmaske.
- IPv6-Netzwerk Jeder Host im angegebenen Subnetz hat Zugriff.
- Sicherheitsstufen
- nur NSFv4 Dieses Feld bestimmt, welche Sicherheitsstufen Clients verwenden müssen. Es können mehrere Ebenen ausgewählt werden, und die bevorzugten Ebenen werden zuerst ausprobiert.
Sicherheit exportieren
- Schreibgeschützt
- Wenn Sie verhindern möchten, dass Clients Dateien im exportierten Verzeichnis ändern oder erstellen, wählen Sie Ja
- Remotebenutzern vertrauen
- Alle wenn nur in vertrauenswürdige Systeme exportiert wird. Standardmäßig wird dem Root-Konto anderer Systeme nicht vertraut.
- Nicht vertrauenswürdige Benutzer behandeln als
- Diese Option legt fest, als welcher lokale Benutzer nicht vertrauenswürdige Client-Benutzer behandelt werden. Sie können entweder eine UID eingeben oder einen Benutzer auswählen oder die Standardeinstellung wählen. exportfs-Option:anonuid Standard:-2 oder niemand
- Nicht vertrauenswürdige Gruppen behandeln als
- Diese Option legt fest, als welche lokale Gruppe nicht vertrauenswürdige Client-Gruppen behandelt werden. Sie können entweder eine GID eingeben oder eine Gruppe auswählen oder die Standardeinstellung wählen. exportfs-Option:anongid Standard:-2 oder niemand
- Subtree-Prüfung deaktivieren
- Diese Option deaktiviert die Teilbaumprüfung, was geringfügige Auswirkungen auf die Sicherheit hat, aber unter bestimmten Umständen die Zuverlässigkeit verbessern kann.
Wenn ein Unterverzeichnis eines Dateisystems exportiert wird, aber nicht das gesamte Dateisystem, muss der Server bei jeder eingehenden NFS-Anfrage nicht nur prüfen, ob sich die Datei, auf die zugegriffen wird, im richtigen Dateisystem befindet (was einfach ist), sondern auch, dass sie sich im exportierter Baum (was schwieriger ist). - Alle Schreibvorgänge sofort synchronisieren
- Wenn diese Option aktiviert ist, werden alle NFS-Schreibvorgänge von Clients für diesen Export auf die Festplatte geschrieben, bevor der Erfolg an den Client zurückgemeldet wird. Dies ist langsamer, gewährleistet aber die Datenintegrität. Wenn die Option deaktiviert ist, werden Schreibvorgänge von NFS-Clients möglicherweise bis zu einem späteren Zeitpunkt gepuffert.
exportfs-Optionen:sync, async Standard:aktiviert (aber deaktiviert für Versionen von nfs-utils vor 1.0.0) - Symbolische Links relativ machen
- Dies ist eine NFSv2-spezifische Option. Konvertiert vom Client gesehene absolute symbolische Links in relative Links. Wenn beispielsweise das Verzeichnis /usr exportiert wurde, ein Link von /usr/local/bin nach /usr/X11R6/bin würde in ../X11R6/bin konvertiert werden . Dies ist viel sinnvoller, wenn der Client das Verzeichnis an einer anderen Stelle als /usr einhängt .
- Clients müssen sich auf einem sicheren Port befinden
- Wenn diese Option gewählt wird, müssen NFS-Clients einen UDP- oder TCP-Port kleiner als 1024 verwenden. Dies bietet zusätzliche Sicherheit für Unix-Clients, kann aber einige Windows-NFS-Implementierungen stören. exportfs-Optionen:sicher, unsicher
- Zugriff auf Verzeichnis verweigern
- Dies ist eine NFSv2-spezifische Option. Wenn diese Option gewählt wird, wird den angegebenen Clients kein Zugriff auf irgendetwas in diesem Verzeichnis gewährt. Diese Option ist nur dann wirklich nützlich, wenn Sie ein übergeordnetes Verzeichnis exportieren, aber den Zugriff auf ein Unterverzeichnis verweigern. exportfs-Option:noaccess
- Verstecke das Dateisystem
- Wenn auf Ja gesetzt, müssen Clients jedes unter diesem exportierte Dateisystem separat einhängen. Wenn es auf Nein eingestellt ist, wird es effektiv automatisch gemountet.
- Vertraue UIDs nicht
- Dies ist eine NFSv2-spezifische Option. Der Mapping-Daemon ugidd muss laufen. Zusätzlich zum Abschnitt Remotebenutzern vertrauen können Sie mit dieser Option eine Liste von Client-UIDs angeben, die als nicht vertrauenswürdige Benutzer behandelt werden sollen. Sie müssen eine durch Kommas getrennte Liste von UIDs oder UID-Bereichen wie 1,10,20-25,100-150 eingeben. exportfs-Optionen:squash_uids, map_daemon
- Vertraue GIDs nicht
- Dies ist eine NFSv2-spezifische Option. Der Mapping-Daemon ugidd muss laufen. Wie UIDs nicht vertrauen, können Sie mit dieser Option eine Liste von Client-GIDs angeben, die als nicht vertrauenswürdige Gruppe behandelt werden sollen. Sie müssen eine durch Kommas getrennte Liste von GIDs oder GID-Bereichen wie 1,10,20-25,100-150 eingeben. exportfs-Optionen:squash_gids, map_daemon
Klicken Sie auf Erstellen Schaltfläche zum Speichern des Exports. Wenn Sie in einem der Felder Fehler gemacht haben, wird eine erklärende Fehlermeldung angezeigt. Andernfalls kehrt der Browser zur Liste der Exporte zurück.
NFS-Export erstellenZugelassene Clients sollten nun in der Lage sein, das exportierte Verzeichnis zu mounten. Wenn nicht, überprüfen Sie die Fehlerprotokolle Ihres Systems auf Meldungen von den NFS-Serverprozessen, die erklären, warum der Client abgelehnt wird.
Bearbeiten oder Löschen eines NFS-Exports
Alle Details eines vorhandenen NFS-Exports können jederzeit bearbeitet werden, indem Sie diesen Schritten folgen :
- Klicken Sie auf der Hauptseite des Moduls unter Exportiert nach auf den Client Spalte, die Sie bearbeiten möchten. Wird ein einzelnes Verzeichnis mehrfach auf verschiedene Clients exportiert, muss jedes einzeln bearbeitet werden.
- Ändern Sie im Exportbearbeitungsformular (das fast identisch mit dem obigen Screenshot ist) eine der Optionen, einschließlich des freizugebenden Verzeichnisses.
- Wenn Sie den Export löschen möchten, klicken Sie auf Löschen Schaltfläche unten rechts auf der Seite. Klicken Sie andernfalls auf Speichern um Ihre Änderungen zu speichern. In jedem Fall kehrt Ihr Browser zur Hauptseite des Moduls zurück.
- Klicken Sie auf Änderungen übernehmen Schaltfläche, um die Änderungen zu aktivieren.
Vorhandene NFS-Exporte können bearbeitet oder gelöscht werden, indem Sie auf der Hauptseite des Moduls auf ihr Verzeichnis klicken. Wenn Sie Änderungen vornehmen, müssen Sie auf Änderungen übernehmen klicken Schaltfläche, um sie zu aktivieren.
Verzeichnis wird importiert
Um ein Verzeichnis zu 'importieren', das von einem anderen System exportiert wurde, können Sie Festplatten- und Netzwerkdateisysteme verwenden. Außerdem werden bei Verwendung eines NFSv4-Pseudodateisystems die NFS-Exporte auf dem exportierenden System „reimportiert“.