Website-Suche

So konfigurieren Sie NFS unter Debian 9 Stretch Linux


Objektiv

Ziel ist es, die grundlegende Client/Server-NFS-Konfiguration unter Debian 9 Stretch Linux zu konfigurieren

Betriebssystem- und Softwareversionen

  • Betriebssystem: – Debian 9 Stretch

Anforderungen

Privilegierter Zugriff auf Ihre Debian Linux-Installation.

Schwierigkeit

LEICHT

Konventionen

  • # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder mit dem Befehl sudo
  • $ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

NFS-Server-Einrichtung

Installation des NFS-Servers

Der erste Schritt besteht darin, NFS-Server-Binärdateien zu installieren. Um dies zu tun, verwenden Sie den Befehl apt, um das Paket nfs-kernel-server zu installieren:


apt-get install nfs-kernel-server

Vergewissern Sie sich, dass der NFS-Server aktiv ist und ausgeführt wird:


systemctl status nfs-kernel-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2017-06-05 14:20:17 AEST; 1min 8s ago
 Main PID: 1752 (code=exited, status=0/SUCCESS)

linuxconfig systemd[1]: Starting NFS server and services...
linuxconfig systemd[1]: Started NFS server and services.

NFS-Verzeichnis exportieren

Als nächstes müssen wir das NFS-Verzeichnis exportieren. Dieses Verzeichnis wird schließlich remote gemountet und ist daher über den NFS-Client-Host zugänglich. Für die Zwecke dieses Tutorials erstellen und exportieren wir das Verzeichnis /var/nfs-export. Erstellen Sie zunächst ein neues nfs-export-Verzeichnis:


mkdir /var/nfs-export

Erstellen Sie zu Testzwecken auch eine beliebige Textdatei:


cd /var/nfs-export/
echo LinuxConfig.org > file.txt
cat file.txt 
LinuxConfig.org

Wenn Sie fertig sind, verwenden Sie Ihren bevorzugten Texteditor und erstellen Sie einen neuen NFS-Exporteintrag in der Konfigurationsdatei /etc/exports. Zum Beispiel:


/var/nfs-export *(rw,sync,no_subtree_check,no_root_squash)

Der obige Export exportiert das Verzeichnis /var/nfs-export auf einen beliebigen Host mit einer beliebigen IP-Adresse mit Lese-/Schreibzugriff. Dies ist ein höchst unsicherer Export. Für weitere NFS-Exportbeispiele geben Sie $man exports ein.

Um Änderungen in der Konfigurationsdatei /etc/exports zu übernehmen, laden Sie alle NFS-Exporte neu mit:


exportfs -a

Wenn Sie Ihren NFS-Server nach dem Neustart starten möchten, müssen Sie ihn mit dem Befehl systemctl systemd aktivieren:


systemctl enable nfs-kernel-server
Synchronizing state of nfs-kernel-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nfs-kernel-server

NFS-Client

Jetzt, da das NFS-Exportverzeichnis für einen Remote-Mount verfügbar ist. Lassen Sie uns den NFS-Client auf unserem Client-System installieren:


apt-get install nfs-common

Erstellen Sie ein neues Verzeichnis, das als NFS-Einhängepunkt verwendet wird, um das zuvor exportierte Verzeichnis /var/nfs-export remote zu mounten:


mkdir /mnt/nfs

Mounten Sie das entfernte NFS-Exportverzeichnis:


mount -t nfs YOUR-NFS-SERVER-IP:/var/nfs-export /mnt/nfs/

Überprüfen Sie den Inhalt des NFS-Exportverzeichnisses und testen Sie den Schreibzugriff, indem Sie eine neue leere Testdatei erstellen:


cat /mnt/nfs/file.txt 
LinuxConfig.org
touch /mnt/nfs/test
ls /mnt/nfs/
file.txt  test

Um das NFS-Exportverzeichnis dauerhaft auf Ihrem NFS-Client zu mounten, fügen Sie eine der folgenden Zeilen in die Konfigurationsdatei /etc/fstab ein:


YOUR-NFS-SERVER-IP:/var/nfs-export /mnt/nfs/    nfs

Im Moment haben reguläre Benutzer keinen Schreibzugriff auf /mnt/nfs/. Jeder Schreibversuch in dieses Verzeichnis wird mit der folgenden Fehlermeldung abgelehnt:


touch /mnt/nfs/file
touch: cannot touch 'file': Permission denied

Es gibt zwar mehrere und sicherere Lösungen für dieses Problem, aber die schnellste Lösung könnte darin bestehen, einem bestimmten Benutzer, der einen Schreibzugriff benötigt, Schreibzugriff auf /mnt/nfs/ auf dem Client-Host zu gewähren oder ihn allen Benutzern zu gewähren. Beispiel:


chmod o+w /mnt/nfs/

Verwandte Artikel: