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