Das Konzept von NFS (Netzwerkdateisystem ) ermächtigt einen Benutzer auf einem Client-Computer, Lese- und Schreibrechte für gemeinsam genutzte Dateiverzeichnisse auf einem Server-Computer zu haben.
Dieses Dateifreigabekonzept über das Netzwerk kann aufgrund seines Open-Source-Attributs von jedem implementiert werden. Bevor uns dieser Artikelleitfaden beibringt, wie das NFS-Protokoll implementiert wird, müssen wir zunächst einige der NFS-Footprints verstehen.
Da es der Server-Computer ist, der die gemeinsam nutzbaren Dateien hostet, entscheidet er auch über die implementierbare Tiefe der Dateifreigabeberechtigungen und Zugriffsrechte.
Dieser Artikelleitfaden geht davon aus, dass Sie Zugriff auf einen Ubuntu 20.04/22.04-Server und einen Client-Computer haben. Es wird auch davon ausgegangen, dass Sie auf beiden Betriebssystemumgebungen Root- oder Sudo-Benutzerzugriff haben.
Installieren von NFS-Server auf Ubuntu-Server
Der erste Schritt besteht darin, immer sicherzustellen, dass Ihre Betriebssystemumgebung auf dem neuesten Stand ist.
$ sudo apt update
Wir müssen jetzt fortfahren und den nfs-kernel-server installieren Paket.
$ sudo apt install nfs-kernel-server
Wir brauchen jetzt ein NFS Exportverzeichnis erstellt. Dieses Verzeichnis ist für das Hosten der gemeinsam nutzbaren Dateien verantwortlich, auf die von Client-Computern mit Zugriff zugegriffen werden kann.
$ sudo mkdir -p /mnt/nfs_share
Da dieses Verzeichnis jetzt existiert, muss es mit bestimmten Berechtigungen verknüpft werden, damit ein Zugriffsversuch von einem Client-Computer nicht verhindert wird.
$ sudo chown -R nobody:nogroup /mnt/nfs_share
Außerdem gewähren wir den Client-Computern, die Zugriff auf diese gemeinsam genutzten Dateien haben, mit dem folgenden Befehl zusätzliche Lese-, Schreib- und Ausführungsberechtigungen.
$ sudo chmod 777 /mnt/nfs_share
Damit Benutzer von Client-Computern Zugriff auf dieses erstellte gemeinsam nutzbare Verzeichnis haben, müssen wir einige Änderungen in /etc/exports vornehmen Datei.
$ sudo nano /etc/exports
Diese Datei wurde während der Installation des NFS-Servers erstellt.
In dieser Datei legen wir die Zugriffsberechtigung für einzelne oder mehrere Client-Computer fest, die einen Pfad zu gemeinsam nutzbaren Verzeichnissen und Dateien benötigen.
Auf meiner Seite verwendet der Computer des Clients die IP-Adresse 192.168.11.196 . Daher gewährt das Hinzufügen der folgenden Zeile zur obigen Datei dem Client-Computer, der der IP-Adresse zugeordnet ist, Zugriff auf freigegebene Dateien.
/mnt/nfs_share 192.168.11.196(rw,sync,no_subtree_check)
Wenn ich möchte, dass mehrere Client-Computer mit einem ähnlichen Subnetz Zugriff haben, muss die Zeile in die Datei /etc/exports aufgenommen werden Datei sieht wie folgt aus:
/mnt/nfs_share 192.168.11.0/24(rw,sync,no_subtree_check)
Schließlich müssen wir die Datei /mnt/nfs_share exportieren Verzeichnis, damit Ziel-Client-Computer darauf zugreifen können.
$ sudo exportfs -a
Denken Sie auch daran, den nfs-kernel-server neu zu starten.
$ sudo systemctl restart nfs-kernel-server
Wenn Sie eine Firewall auf Ihrem Server haben, implementieren Sie einen ähnlichen Befehl wie den folgenden, um den Zugriff zuzulassen.
$ sudo ufw allow from 192.168.11.0/24 to any port nfs
Konfigurieren eines Linux-Clients für den Zugriff auf die NFS-Freigabe
Für den Zugriff auf NFS vom Client-Rechner freigeben, müssen Sie nfs-common installieren Paket auf dem Client-Rechner, hier verwende ich Ubuntu als Client-Rechner.
$ sudo apt install nfs-common
Wir brauchen jetzt einen Einhängepunkt, um mit der nfs_share zu verknüpfen Verzeichnis auf dem Server-Computer.
$ sudo mkdir -p /mnt/nfs_clientshare
Um diese Verbindung abzuschließen, müssen Sie das NFS-Freigabeverzeichnis auf dem Client-Mount-Punkt mit dem folgenden Befehl einhängen:
$ sudo mount 192.168.11.130:/mnt/nfs_share /mnt/nfs_clientshare
Die obige IP-Adresse gehört zum NFS-Server-Computer.
NFS-Dateifreigabe/Zugriffsüberprüfung
Gehen Sie zurück zu nfs_share Ordner auf dem Servercomputer und erstellen Sie einige Beispieldateien:
$ cd /mnt/nfs_share $ touch file1.txt file2.txt
Gehen Sie zurück zu nfs_clientshare Ordner auf dem Client-Computer, um zu sehen, ob die oben erstellten Dateien sichtbar sind.
$ ls -l /mnt/nfs_clientshare/
Wie Sie sehen können, existieren die beiden erstellten Dateien mit Lese- und Schreibzugriff.
Ein NFS server bietet einen flexiblen und einfachen Ansatz, um wichtige/wichtige Dateien und Verzeichnisse von einem einzelnen Server auf einem bestimmten oder mehreren Client-Computern gemeinsam zu nutzen.