7.2    Network File System (NFS)

Das Network File System begegnet Ihnen im Linux-, FreeBSD- und Unix-Umfeld. Mit NFS stellen Sie Freigaben von Verzeichnissen ähnlich wie mit Samba anderen Rechnern zur Verfügung. Beim NFS-Client hängen Sie diese Freigaben in den lokalen Verzeichnisbaum ein. Die so gemounteten NFS-Freigaben (Exports) werden wie ein lokales Verzeichnis oder Plattengerät behandelt.

Mit NFS verwirklichen Sie z. B. folgende Konfigurationen:

Hier im Buch beschreibe ich die aktuelle NFS-Version 4. Diese ist leichter administrierbar und sicherer als die Vorgängerversion. Sie benutzt TCP. Nachteilig bei jeder NFS-Version ist der jeweilige Umfang der Konfigurationsarbeiten. Es gibt andere, unkompliziertere und flexiblere Verfahren, um Daten für andere Rechner bereitzustellen.

Weitere Informationen finden Sie in den RFCs 7530, 7931, 8587 (NFS Version 4) und 1813 (NFS Version 3) sowie in den Manual-Seiten zu exports, nfsd und portmap.

7.2.1    Konfiguration des NFS-Servers

Vor der Installation müssen Sie in Ihrem Netz noch einige Dinge regeln:

Legen Sie anschließend, falls es noch notwendig ist, die zu exportierenden Verzeichnisse auf dem Server an. Führen Sie die Programminstallation mit den Werkzeugen Ihrer Linux-Distribution durch.

Am Beispiel eines Debian-Linux-Servers zeige ich Ihnen die fälligen Konfigurationsschritte:

Für die Einträge in der exports-Datei können Sie verschiedene Optionen nutzen, die in Tabelle 7.5 erläutert werden.

Option

Option-Schlüsselwort

Lesen und Schreiben ist erlaubt.

rw

Nur Lesen ist erlaubt.

ro

Port-Nummer über 1024 verwenden

insecure

Datentransfer läuft im asynchronen Modus.

async

Das exportierte Verzeichnis gehört auf den Server root. Am Client werden diese Verzeichnisse auf den Benutzer nobody gemappt, Sie können sie deshalb nur lesen. Mit dieser Option umgehen Sie diese Sicherheitseinstellung.

no_root_squash

Betrachten Sie das exports-Beispiel. Hier werden die Verzeichnisse /export und /export/home als eigenständige Freigaben behandelt. Mit nohide sieht Ihr NFS-Client die beiden Freigaben nicht als verschiedene, sondern als hierarchisch miteinander verknüpft an.

nohide

Prüft, ob in einem einzelnen freigegebenen Verzeichnis eine angeforderte Datei liegt.

subtree_check

Unterlässt diese Prüfung. Dies ist eine empfehlenswerte Einstellung, wenn der gesamte Verzeichnisbaum exportiert wird. Damit steigern Sie die Zugriffsgeschwindigkeit.

no_subtree_check

Tabelle 7.5     Optionen in »/etc/exports«

Prozessstatusabfrage

Abbildung 7.11     Prozessstatusabfrage

7.2.2    Konfiguration des NFS-Clients

Beim Client-Rechner können Sie mit der Benutzerkennung root die NFS-Freigaben im Verzeichnisbaum einhängen. Hierzu müssen Sie das Einhängeverzeichnis anlegen und anschließend die Freigabe mounten. Hier im Beispiel wurde als Einhängeverzeichnis /usr/nfszugriff gewählt:

Zur Verdeutlichung sehen Sie den Vorgang in Abbildung 7.12. Sie finden darin auch den (funktionierenden) Datenzugriff als normaler Benutzer dargestellt.

Manuelles Einhängen der Freigabe und Funktionstest

Abbildung 7.12     Manuelles Einhängen der Freigabe und Funktionstest

Sollen die NFS-Freigaben dauerhaft nach jedem Rechnerstart automatisch in den Verzeichnisbaum eingehängt werden, müssen Sie in der Datei /etc/fstab eine Zeile anfügen (hier auf das Beispiel bezogen):

192.168.0.34:/export/home    /usr/nfszugriff    nfs    rw,soft 0 0

Die Option soft verhindert ein Einfrieren von Anwendungen, die auf die Freigaben zugreifen.