So hosten Sie NFS-Freigaben unter Linux

Wenn Sie ein mäßig versierter Linux-Benutzer oder ein Anfänger mit einem Server sind, greifen Sie hauptsächlich mit Samba auf Dateien zu. Viele tun dies, weil NFS so schwierig zu sein scheint. Es gibt so viele Schritte und kleine Dinge, die Sie im Vergleich zu etwas wie Samba oder sogar FTP richtig machen müssen. Die Tatsache, dass viele Linux-Benutzer auf NFS verzichten, ist wirklich schade, da es viele großartige Funktionen und Verwendungsmöglichkeiten bietet. Aus diesem Grund haben wir uns entschlossen, die Einrichtung eines NFS-Servers zu vereinfachen. Wir werden aufschlüsseln, wie Sie NFS-Freigaben unter Linux hosten können, und ausführlich erklären, wie Sie einen Server zum Laufen bringen können

Installation

Im Allgemeinen hat jede Linux-Distribution die gleichen NFS-Tools mit einigen Unterschieden hier und da. Damit alles funktioniert, öffnen Sie ein Terminal und installieren Sie die folgenden Pakete auf Ihrem System. Diese Pakete installieren die Standardtechnologie, die zum Ausführen des Servers erforderlich ist, generieren die Standardkonfigurationsdateien und konfigurieren manchmal sogar andere Dinge.

Ubuntu

sudo apt install nfs-kernel-server

Fedora

sudo dnf install nfs-utils system-config-nfs

Arch-Linux

sudo pacman -S nfs-utils

Debian

sudo apt-get install nfs-kernel-server

OpenSUSE

sudo zypper install nfs-kernel-server

Andere Linuxe

Das NFS-Dateisystem, der Client und der Server sind keine neue Technologie. Infolgedessen können Sie dies problemlos auf so ziemlich jeder Linux-Distribution zum Laufen bringen. Wenn Ihr Betriebssystem nicht abgedeckt wurde, sollten Sie im Paketmanager nach „nfs utils“ suchen oder im Wiki Ihres Betriebssystems nachschlagen.

  So verwenden Sie den vmstat-Befehl unter Linux

Systemd-Dienste

Das Einrichten eines NFS-Servers kann unterschiedlich sein, je nachdem, welche Linux-Distribution Sie verwenden. Wenn Sie beispielsweise das Ubuntu- oder Debian-NFS-Paket installieren, werden die systemd-Dienste automatisch für Sie eingerichtet und konfiguriert. Bei etwas wie Arch Linux, SUSE oder Fedora usw. müssen Sie dies jedoch manuell tun. So aktivieren Sie diese Dienste.

Wenn Sie Arch Linux, Open SUSE oder Fedora (oder eine andere Linux-Distribution, die die systemd-Dienste für NFS nicht automatisch einrichtet) ausführen, öffnen Sie ein Terminal und geben Sie diese Befehle ein.

sudo systemctl enable rpcbind
sudo systemctl enable nfs-server 

sudo service rpcbind start 

sudo service nfs-server start

Aufbau

Durch die Installation der NFS-Pakete wird der Server „eingerichtet“, aber das bedeutet noch nicht, dass Benutzer darauf zugreifen können. Dazu müssen Benutzer Exporte, Dateispeicherorte usw. einrichten. Um zu beginnen, erhalten Sie eine Root-Shell im Terminal. Mach das mit: sudo -s

Die Exportdatei kann jede Art von Verzeichnis verarbeiten. Tatsächlich können Benutzer ganz einfach einen direkten Speicherort in einen Ordner schreiben, den sie direkt im Dateisystem freigeben möchten. Das Problem dabei ist, dass es ein enormes Sicherheitsrisiko darstellt. Es ist viel sicherer, den Inhalt eines Verzeichnisses an ein anderes zu binden. Dadurch wird sichergestellt, dass Berechtigungen für Ordner und Verzeichnisse im Ordner /srv/ nicht geändert werden müssen, wodurch alles sicher ist.

  Die 5 besten Hardware-Informationstools für Linux

Um beispielsweise eine NFS-Freigabe des Bilderordners eines Benutzers einzurichten, gehen Sie wie folgt vor:

mkdir -p /srv/nfs/pictures /home/username/Pictures/

mount --bind /home/username/Pictures/ /srv/nfs/pictures/

Verwenden Sie das obige Beispiel, um so viele Bindungshalterungen zu erstellen, wie Sie möchten. Denken Sie daran, dass es nicht erforderlich ist, Verzeichnisse aus Home-Ordnern zu mounten. Verwenden Sie stattdessen dieses Beispiel und werden Sie kreativ.

Wenn das alles geklärt ist, führen Sie diese Befehle aus, damit die Halterungen hängen bleiben:

echo '#NFS Pictures Bind Mount' >> /etc/fstab
echo '/home/username/Pictures/ /srv/nfs/pictures/ none bind 0 0' >> /etc/fstab

Hinweis: Sie müssen die Echobefehle an Ihre eigenen Reittiere anpassen.

Wenn die Mounts eingerichtet sind, ist es an der Zeit, die Exportkonfigurationsdatei zu konfigurieren. Die Exportdatei ist sehr wichtig, da Sie hier jede Dateifreigabe angeben müssen, die NFS verwenden soll.

nano /etc/exports

Gehen Sie in der Exportdatei ganz nach unten und schreiben Sie Folgendes:

/srv/nfs/pictures/ 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)

Fühlen Sie sich frei, so viele Zeilen zu schreiben, wie Sie möchten. Denken Sie daran, dass jede Freigabe ihren eigenen Mount-, fstab-Eintrag und /etc/exports-Eintrag benötigt.

  Wie man Sniper Elite unter Linux spielt

Hinweis: Speichern Sie die Exportdatei mit STRG + O

Aktualisierung von Änderungen

Der NFS-Server läuft, die Dateien sind am richtigen Ort und alles ist einsatzbereit. Das Einzige, was übrig bleibt, ist, die an der Exportdatei vorgenommenen Änderungen zu aktualisieren. Dies ist ein wichtiger Schritt, da der NFS-Server während der Ausführung vorgenommene Änderungen nicht aktualisiert. Nehmen Sie Änderungen vor mit: exportfs -rav

Starten Sie bei Bedarf den Serverprozess innerhalb von systemd selbst neu, indem Sie den Befehl systemctl restart verwenden.

sudo systemctl restart nfs-server.

Fazit

Das Network File System ist ein nützliches Werkzeug. Damit können Benutzer ganz einfach entfernte Dateien und Verzeichnisse nehmen und lokal damit arbeiten, genau wie mit einer physischen Festplatte. Das ist großartig, da konkurrierende Netzwerkdateisystem-Tools den Benutzern nicht die gleiche Allgegenwärtigkeit und Freiheit bieten.

Trotz seiner Nützlichkeit bevorzugen die meisten Leute stattdessen Samba. Das ist verständlich, denn im Vergleich zu Samba kann NFS etwas lästig und mühsam einzurichten sein. Wenn Sie sich jedoch mit dem schwierigen Einrichtungsprozess auseinandersetzen, lohnt es sich viel mehr.