Ziel
Das Ziel ist die Konfiguration der grundlegenden Client/Server-NFS-Konfiguration auf Debian 9 Stretch Linux
Betriebssystem- und Softwareversionen
- Betriebssystem: – Debian 9 Stretch
Anforderungen
Privilegierter Zugriff auf Ihre Debian-Linux-Installation.
Schwierigkeit
EINFACH
Konventionen
- # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von
sudo
Befehl - $ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden
NFS-Server-Setup
Installation des NFS-Servers
Der erste Schritt besteht darin, NFS-Server-Binärdateien zu installieren. Verwenden Sie dazu apt
Befehl zum Installieren von nfs-kernel-server
Paket:
# apt-get install nfs-kernel-server
Bestätigen Sie, dass der NFS-Server betriebsbereit ist:
# 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 dieses Tutorial erstellen und exportieren wir ein Verzeichnis mit dem Namen /var/nfs-export
. Erstellen Sie zunächst einen neuen 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 /etc/exports
Konfigurationsdatei. Zum Beispiel:
/var/nfs-export *(rw,sync,no_subtree_check,no_root_squash)
Der obige Export exportiert /var/nfs-export
Verzeichnis auf jeden Host mit beliebiger IP-Adresse mit Lese-/Schreibzugriff. Dies ist ein höchst unsicherer Export. Geben Sie für weitere NFS-Exportbeispiele $ man exports
ein .
Um Änderungen in /etc/exports
anzuwenden Konfigurationsdatei, 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 systemctl
aktivieren systemd-Befehl:
# 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
Nun, 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 zuvor exportierte /var/nfs-export
remote einzuhängen Verzeichnis:
# mkdir /mnt/nfs
Hängen Sie das entfernte NFS-Exportverzeichnis ein:
# 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 einen neuen leeren test
erstellen Datei:
# 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 folgende Zeile in Ihre /etc/fstab
ein Konfigurationsdatei:
YOUR-NFS-SERVER-IP:/var/nfs-export /mnt/nfs/ nfs
Im Moment haben normale 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
Obwohl es mehrere und sicherere Lösungen für dieses Problem gibt, könnte die schnellste Lösung darin bestehen, Schreibzugriff auf /mnt/nfs/
zu gewähren auf dem Client-Host an einen bestimmten Benutzer, der Schreibzugriff benötigt, oder um ihn allen zu geben. Beispiel:
# chmod o+w /mnt/nfs/