exportfs - die Tabelle der exportierten NFS-Dateisysteme verwalten
/usr/sbin/exportfs [-avi] [-o Optionen, … ]
[Client:/Pfad … ]
/usr/sbin/exportfs -r [-v]
/usr/sbin/exportfs [-av] -u [Client:/Pfad … ]
/usr/sbin/exportfs [-v]
/usr/sbin/exportfs -f
/usr/sbin/exportfs -s
Ein NFS-Server verwaltet eine Tabelle lokaler physischer Dateisysteme, auf die
NFS-Clients zugreifen können. Jedes Dateisystem in dieser Tabelle ist
ein
exportiertes Dateisystem oder kurz ein
Export.
Der Befehl
exportfs verwaltet die aktuelle Tabelle der Exporte für
den NFS-Server. Die Hauptexporttabelle befindet sich in einer Datei namens
/var/lib/nfs/etab. Diese Datei wird von
rpc.mountd gelesen, wenn
ein Client eine NFS-MOUNT-Anfrage sendet.
Normalerweise wird die Hauptexporttabelle mit dem Inhalt von
/etc/exports
und den Dateien unter
/etc/exports.d durch Aufruf von
exportfs
-a initialisiert. Jedoch kann ein Systemadministrator mit dem Befehl
exportfs Exporte hinzufügen oder entfernen, ohne
/etc/exports oder die Dateien unter
/etc/exports.d zu
bearbeiten.
exportfs und dessen Partnerprogramm
rpc.mountd arbeiten in einem
von zwei Modi: einem klassischen Modus für Kernelversionen bis 2.4 und
einem neuen Modus für 2.6 und neuere Versionen, vorausgesetzt, das
virtuelle
nfsd-Dateisystem wurde unter
/proc/fs/nfsd oder
/proc/fs/nfs eingehängt. Wenn in Kerneln der Version 2.6 das
Dateisystem nicht eingehängt ist, wird der klassische Modus verwendet.
Im neuen Modus sendet
exportfs keine Informationen an den Kernel, sondern
stellt diese in der Datei
/var/lib/nfs/etab für
rpc.mountd bereit.
rpc.mountd verwaltet dann die Kernelanfragen
nach Informationen zu Exporten, falls nötig.
Im klassischen Modus werden Exporte, die einen bestimmten Rechner und kein
Subnetz oder eine Netzgruppe identifizieren, sowohl direkt in die
Kernel-Exporttabelle eingegeben als auch in die Datei
/var/lib/nfs/etab
geschrieben. Weiterhin erhalten die in
/var/lib/nfs/rmtab
aufgeführten Exporte, die einem nicht-rechnerspezifischen Export
entsprechen, einen entsprechenden Exporteintrag für den in
rmtab
angegebenen Rechner in der Kernel-Exporttabelle.
- -d Art oder --debug Art
- aktiviert Debugging. Gültige Arten sind: all, auth,
call, general und parse. Debugging kann auch mit der Einstellung
debug= im Abschnitt [exportfs] der Datei
/etc/nfs.conf aktiviert werden.
- -a
- exportiert alle Verzeichnisse oder macht deren Export
rückgängig (deexportiert sie).
-
-o Optionen, …
- gibt eine Liste der Exportoptionen auf die gleiche Weise
wie in exports(5) an.
- -i
- ignoriert die Datei /etc/exports und die Dateien im
Verzeichnis /etc/exports.d. Es werden nur Standardoptionen und die
in der Befehlszeile übergebenen Optionen verwendet.
- -r
- reexportiert alle Verzeichnisse, wobei
/var/lib/nfs/etab mit /etc/exports und den Dateien unter
/etc/exports.d synchronisiert wird. Diese Option entfernt
Einträge in /var/lib/nfs/etab, die in /etc/exports
oder den Dateien unter /etc/exports.d gelöscht wurden und
entfernt Einträge aus der Kernel-Exporttabelle, die nicht mehr
gültig sind.
- -u
- macht den Export eines oder mehrerer Verzeichnisse
rückgängig (deexportiert sie).
- -f
- bewirkt, dass alles aus der Kernel-Exporttabelle
gelöscht wird, falls /proc/fs/nfsd oder /proc/fs/nfs
eingehängt ist. Neue Einträge für aktive Clients
werden durch rpc.mountd zur Kernel-Exporttabelle
hinzugefügt, wenn sie ihre nächste
NFS-Einhängeanfrage stellen.
- -v
- aktiviert den ausführlichen Modus. Beim Exportieren
oder Deexportieren wird angezeigt, was passiert. In der aktuellen
Exportliste werden auch die Exportoptionen angezeigt.
- -s
- zeigt die aktuelle für /etc/exports geeignete
Exportliste an.
Der Abschnitt
[exportfs] der Konfigurationsdatei
/etc/nfs.conf
kann einen oder mehrere
debug-Werte enthalten, der
general,
call,
auth,
parse,
all sein kann. Wenn eine Liste
mehrere dieser Werte angegeben ist, sollten die einzelnen Werte durch Kommata
getrennt werden.
exportfs berücksichtigt auch den Wert
state-directory-path
aus den Abschnitten
[mountd] und
[exportd].
Die oben stehende erste Übersicht zeigt, wie
exportfs aufgerufen
wird, um neue Einträge zur Exporttabelle hinzuzufügen. Wenn Sie
exportfs -a aufrufen, werden alle in
/etc/exports und den
Dateien unter
/etc/exports.d zu den in
/var/lib/nfs/etab
aufgeführten Exporten hinzugefügt. Die Kernel-Exporttabelle wird
ebenfalls aktualisiert, falls nötig.
Das Argument
Rechner:/Pfad gibt ein lokales zu exportierendes Verzeichnis
an; zusammen mit dem Client oder den Clients, denen der Zugriff darauf
gestattet ist. In
exports(5) finden Sie eine Beschreibung der
unterstützten Optionen und Formaten der Zugriffslisten.
Die Darstellung von IPv6-Adressen enthält Doppelpunkte, die bereits zum
Trennen der Befehlszeilenargumente »Rechner« und
»Pfad« verwendet werden. Wenn Sie einen Client in Form einer
rohen IPv6-Adresse angeben, schließen Sie die Adresse in eckige
Klammern ein. Bei IPv6-Netzwerkadressen setzen Sie das Präfix direkt
hinter die schließende Klammer.
Um ein Verzeichnis in die Welt hinaus zu exportieren, geben Sie einfach
:/Pfad an.
Die Exportoptionen für ein bestimmtes Rechner/Verzeichnis-Paar werden aus
verschiedenen Quellen abgeleitet. Die vorgegebenen Exportoptionen sind
sync,ro,root_squash,wdelay. Diese können durch die
Einträge in
/etc/exports oder den Dateien unter
/etc/exports.d außer Kraft gesetzt werden.
Ein Systemadministrator kann die Optionen aus diesen Quellen außer Kraft
setzen, indem er
exportfs mit der Befehlszeilenoption
-o
verwendet. Diese Option akzeptiert eine durch Kommata getrennte Liste von
Optionen in der gleichen Form, wie sie in
/etc/exports angegeben wird.
Auf diese Weise kann
exportfs zum Ändern der Exportoptionen
eines bereits exportierten Verzeichnisses verwendet werden.
Die dritte Übersicht zeigt, wie ein aktuell exportiertes Verzeichnis
deexportiert werden kann. Wenn Sie
exportfs -ua aufrufen, werden alle
in
/var/lib/nfs/etab aufgeführten Einträge aus der
Kernel-Exporttabelle entfernt und die Datei aufgeräumt. Dadurch werden
effektiv alle NFS-Aktivitäten heruntergefahren.
Um einen Export zu entfernen, geben Sie ein
Rechner:/Pfad-Paar an.
Dadurch wird der angegebene Eintrag in
/var/lib/nfs/etab
gelöscht und der zugehörige Kerneleintrag entfernt (falls
vorhanden).
Der Aufruf von
exportfs ohne Optionen zeigt die aktuelle Liste der
exportierten Dateisysteme an. Mit der Option
-v zeigt
exportfs
die Exportlisten für jeden Export an.
Im folgenden Beispiel werden alle in
/etc/exports und den Dateien unter
/etc/exports.d aufgeführten Verzeichnisse zu
/var/lib/nfs/etab hinzugefügt und die sich ergebenden
Exporteinträge an den Kernel gemeldet:
# exportfs -a
Exportieren des Verzeichnisses
/usr/tmp zum Rechner
django und
unsichere Dateisperranfragen von Clients zulassen:
# exportfs -o insecure_locks django:/usr/tmp
Deexportieren des Verzeichnisses
/usr/tmp:
# exportfs -u django:/usr/tmp
Deexportieren aller in
/etc/exports und den Dateien unter
/etc/exports.d aufgeführten Exporte:
# exportfs -au
Exportieren des Verzeichnisses
/usr/tmp an link-lokale IPv6-Clients:
# exportfs [fe80::]/64:/usr/tmp
Das Exportieren zu IP-Netzwerken oder DNS- und NIS-Domains erlaubt den Clients
nicht, von diesen Gruppen auf NFS unmittelbar zuzugreifen. Stattdessen sind
diese Arten von Exporten Hinweise an
rpc.mountd(8) zum Erlauben
jeglicher Einhängeanfragen dieser Clients. Dies ist normalerweise kein
Problem, da alle existierenden Einhängungen in
rmtab auch nach
einem Neustart noch vorhanden sind.
Beim Deexportieren eines Netzwerk- oder Domain-Eintrags werden alle aktuellen
Exporte an Mitglieder dieser Gruppe gegen die verbleibenden gültigen
Exporte geprüft. Falls diese Exporte nicht mehr gültig sind,
werden sie entfernt.
- /etc/exports
- Eingabedatei, welche die Exporte, die Exportoptionen und
die Zugriffssteuerlisten aufführt
- /etc/exports.d
- Verzeichnis, in dem zusätzliche Eingabedateien
gespeichert werden. Hinweis: Es werden nur Dateien mit der Endung
.exports verwendet.
- /var/lib/nfs/etab
- Haupttabelle der Exporte
- /var/lib/nfs/rmtab
- Tabelle der Clients, die auf die Exporte des Servers
zugreifen
exports(5),
nfs.conf(5),
rpc.mountd(8),
exportd(8),
netgroup(5)
Olaf Kirch <
[email protected]>
Neil Brown <
[email protected]>
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario
Blättermann <
[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU
General Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an die
Mailingliste
der Übersetzer