9.2. NFS-Server-Konfigurationsdateien

Das Konfigurieren eines Systems zur gemeinsamen Nutzung von Dateien und Verzeichnisse mithilfe von NFS ist einfach. Jedes Dateisystem, das via NFS an Remote-Benutzer exportiert wurde, sowie die Zugriffsrechte für diese Dateisysteme werden in der Datei /etc/exports abgelegt. Diese Datei wird mit dem Befehl exportfs gelesen. Dadurch erhalten rpc.mountd und rpc.nfsd die notwendigen Informationen, die benötigt werden, um das Remote-Mounting eines Dateisystems durch einen autorisierten Host zuzulassen.

Mit dem Befehl exportfs können Sie Verzeichnisse exportieren, ohne die verschiedenen NFS-Dienste neu starten zu müssen. Wenn exportfs die korrekten Optionen erhält, wird das zu exportierende Dateisystem in /var/lib/nfs/xtab gespeichert. Da rpc.mountd sich für das Festlegen der Privilegien für den Zugriff auf ein Dateisystem auf die Datei xtab bezieht, werden Änderungen an der Liste der exportierten Dateisysteme sofort wirksam.

Bei der Verwendung des Befehls exportfs stehen verschiedene Optionen zur Verfügung:

Wenn für den Befehl exportfs keine Optionen eingegeben werden, wird eine Liste der aktuell exportierten Dateisysteme angezeigt.

Änderungen in /etc/exports können gelesen werden, indem der NFS-Dienst mithilfe des Befehls service nfs reload neu geladen wird. Dabei wird der NFS-Daemon weiterhin ausgeführt, während die Datei /etc/exports erneut exportiert wird.

9.2.1. /etc/exports

Die Datei /etc/exports wird standardmäßig verwendet, um zu kontrollieren, welche Dateisysteme an welchen Host exportiert werden. Weiterhin wird sie verwendet, um bestimmte Optionen einzustellen, mit denen alles kontrolliert werden kann. Leere Zeilen werden ignoriert, Kommentare können mithilfe von # eingegeben werden, und lange Zeilen können durch einen Backslash (\ ) umgebrochen werden. Jedes exportierte Dateisystem sollte eine eigene Zeile haben. Listen von nicht autorisierten Hosts, die nach einem exportierten Dateisystem platziert sind, müssen durch Leerzeichen getrennt werden. Die Optionen für alle Hosts müssen in Klammern direkt nach der Hostbezeichnung stehen. Zwischen dem Host und der ersten Klammen ist kein Leerzeichen.

/etc/exports benötigt in seiner einfachsten Form nur das Verzeichnis, das exportiert wird und den Host, der es verwenden kann:

/some/directory bob.example.com
/another/exported/directory 192.168.0.3

Nachdem /etc/exports erneut mit dem Befehl /sbin/service nfs reload exportiert wurde, kann der Host bob.example.com die Datei /some/directory sowie 192.168.0.3 die Datei /another/exported/directory mounten. Da in diesem Beispiel keine Optionen festgelegt sind, werden verschiedene NFS-Präferenzen aktiviert:

Um diese Standards zu übersteuern, müssen Sie eine Option festlegen, die diese Standards ersetzt. Wenn Sie zum Beispiel die Option rw nicht festlegen, werden exportierte Dateisysteme im Schreibschutzmodus verwendet. Für jedes exportierte Dateisystem müssen die Standardeinstellungen explizit übersteuert werden. Wo keine Standardwerte angegeben sind, stehen zusätzliche Optionen zur Verfügung. Diese bieten die Möglichkeit, das Überprüfen der Sub-Trees zu deaktivieren, erlauben unsicheren Ports den Zugriff sowie das Sperren unsicherer Dateien (für bestimmte frühere NFS-Client-Implementierungen notwendig). Auf der exports-man-Seite finden Sie weitere Details über diese weniger verwendeten Optionen.

Es gibt verschiedene Möglichkeiten, festzulegen, dass Hosts ein bestimmtes exportiertes Dateisystem verwenden können:

WarnungWarnung
 

Es ist sehr wichtig, wie die Datei /etc/exports formatiert ist, besonders im Bezug auf Leerzeichen. Denken Sie daran, exportierte Dateisystem immer getrennt von Hosts aufzuführen und Hosts durch Leerzeichen voneinander trennen. Es sollten jedoch keine weiteren Leerzeichen in der Datei sein, es sei denn, sie werden in Kommentarzeilen verwendet.

So bedeuten zum Beispiel die folgenden beiden Zeilen nicht das gleiche:

/home bob.example.com(rw)
/home bob.example.com (rw)

Die erste Zeile erlaubt nur Benutzern von bob.example.com den Zugriff im Read-Write-Modus auf das Verzeichnis /home. Die zweite Zeile erlaubt Benutzern von bob.example.com, das Verzeichnis im schreibgeschützten Modus zu mounten (der Standard), alle anderen können es im Read-Write-Modus mounten.