Exportdatei für NFS

Zweck

Enthält eine Liste der Verzeichnisse, die auf Network File System-Clients (NFS) exportiert werden können.

Beschreibung

Die Datei /etc/exports enthält einen Eintrag für jedes Verzeichnis, das auf NFS -Clients exportiert werden kann. Diese Datei wird vom Befehl Exportdateien automatisch gelesen. Wenn Sie diese Datei ändern, müssen Sie den Befehl Exportdateien ausführen, damit sich die Änderungen auf die Funktionsweise des Dämons auswirken können.

Nur wenn diese Datei beim Systemstart vorhanden ist, führt das Script rc.nfs den Befehl exportfs aus und startet die Dämonen nfsd und mountd .
Einschränkung: Sie können weder ein übergeordnetes Verzeichnis noch ein Unterverzeichnis eines exportierten Verzeichnisses innerhalb desselben Dateisystems exportieren.

Wenn zwei Einträge für dasselbe Verzeichnis mit unterschiedlichen NFS -Versionen 2 (oder 3) und NFS Version 4 in der Datei /etc/exports vorhanden sind, exportiert der Befehl exportfs beide Einträge.

Wenn die Optionen für NFS Version 2 (oder 3) und NFS Version 4 für ein Verzeichnis identisch sind, kann es einen einzigen Eintrag in der Datei /etc/exports geben, der -vers=3:4 angibt.

Einträge in der Datei werden wie folgt formatiert:

Verzeichnisoption [ , Option ] ...

Diese Einträge sind wie folgt definiert:

Einstiegsspeichermedien Definition
directory Gibt den Verzeichnisnamen an
Option Gibt die optionalen Merkmale für das zu exportierende Verzeichnis an. Sie können mehrere Variablen eingeben, indem Sie sie durch Kommas trennen. Für Optionen, die einen Clientparameter verwenden, kann der Client einen Hostnamen, eine IP-Adresse mit Punkten, einen Netznamen oder eine Teilnetzbezeichnung angeben. Eine Teilnetzbezeichnung hat das Format @Host/Maske, wobei host entweder ein Hostname oder eine IP-Adresse mit Punkten ist und mask die Anzahl der Bits angibt, die beim Überprüfen des Zugriffs verwendet werden sollen. Wenn keine Maske angegeben wird, wird eine vollständige Maske verwendet. Beispielsweise stimmt der Bezeichner @client.group.company.com/16 mit allen Clients im Teilnetz company.com überein. Die Bezeichnung @client.group.company.com/24 stimmt nur mit den Clients im Teilnetz group.company.com überein. Die folgenden Optionen stehen zur Auswahl:
ro
Exportiert das Verzeichnis mit Lesezugriffsberechtigung. Wenn Sie diese Option nicht angeben, wird das Verzeichnis mit Schreib-/Leseberechtigung exportiert.
Ro=Kunde[:Kunde]
Exportiert das Verzeichnis mit Lesezugriffsberechtigung auf die angegebenen Clients. Exportiert das Verzeichnis mit Lese-/Schreibberechtigung auf Clients, die nicht in der Liste angegeben sind. Es ist nicht möglich, eine Liste für Lesezugriffsberechtigung anzugeben, wenn eine Liste für Lese-/Schreibberechtigung angegeben wurde.
rw
Exportiert das Verzeichnis mit Schreib-/Leseberechtigung auf alle Clients.
RW = Kunde [:Kunde]
Exportiert das Verzeichnis mit Lese-/Schreibberechtigung auf die angegebenen Clients. Exportiert das Verzeichnis mit Lesezugriffsberechtigung auf Clients, die nicht in der Liste enthalten sind. Es ist nicht möglich, eine Liste für Lese-/Schreibberechtigung anzugeben, wenn eine Liste für Lesezugriffsberechtigung angegeben wurde.
Zugriff = Client [:Kunde,...]
Lässt den Zugriff auf jeden aufgelisteten Client zu. Erfolgt keine Angabe, kann jeder Client das angegebene Verzeichnis anhängen. Die Option Ro und die Option RW können in einem einzigen Exporteintrag kombiniert werden. Beispiele:
access=x, ro=y 
indicates that x has the rw option and y has the ro option
access=x, rw=y 
indicates that x has the ro option and y has the rw option
Anon= UID
Wenn eine Anforderung von einem Rootbenutzer stammt, verwenden Sie den Wert für die Benutzer-ID (UID) als effektive Benutzer-ID.

Der Standardwert für diese Option ist -2. Durch Setzen des Werts der Option „anon“ auf -1 wird der anonyme Zugriff deaktiviert. Beachten Sie, dass secure standardmäßig unsichere NFS Anfragen als anonym akzeptiert. Benutzer, die mehr Sicherheit wünschen, können diese Funktion deaktivieren, indem sie -1 anon auf den Wert setzen.

 
Root=Kunde[:Kunde]
Lässt den Rootzugriff über die angegebenen Clients in der Liste zu. Beim Hinzufügen eines Hosts zur Rootliste wird die Semantik der anderen Optionen nicht überschrieben. Diese Option verweigert beispielsweise den Mountzugriff über einen Host, der zwar in der Rootliste, aber nicht in der Zugriffsliste enthalten ist.
secure
Erfordert, dass Clients beim Zugriff auf das Verzeichnis ein sichereres Protokoll verwenden.

Ein Nummernzeichen (#) an einer beliebigen Stelle in der Datei gibt einen Kommentar an, der bis zum Ende der Zeile reicht.

deleg = {ja|nein}
Aktiviert oder inaktiviert die Dateidelegierung für den angegebenen Export. Diese Option überschreibt die systemweite Delegierungsberechtigung für diesen Export. Die systemweite Aktivierung erfolgt mit dem Befehl nfso .
vers=Version[:version]
Exportiert das Verzeichnis für Clients mit den angegebenen nfs -Protokollversionen. Zulässige Werte sind 2, 3 und 4. Die Versionen 2 und 3 können nicht getrennt durchgesetzt werden. Die Angabe von Version 2 oder 3 ermöglicht Clients den Zugriff über die nfs -Protokollversion 2 oder 3. Version 4 kann unabhängig voneinander angegeben werden und muss angegeben werden, um den Zugriff von Clients mit dem Protokoll der Version 4 zu ermöglichen. Der Standardwert ist 2 und 3.
exname=externer Name
Exportiert das Verzeichnis unter dem angegebenen externen Namen. Der externe Name muss mit dem Namen nfsroot beginnen. Im Folgenden finden Sie eine Beschreibung der Pfade für nfsroot und nfspublic . Dies gilt nur für Verzeichnisse, die für den Zugriff durch das Protokoll der Version 4 exportiert wurden.
Option (Fortsetzung)
sec=Version[:Variante ...]
Diese Option wird verwendet, um eine Liste von Sicherheitsmethoden anzugeben, die für den Zugriff auf Dateien unter dem exportierten Verzeichnis verwendet werden können. Die meisten exportfs -Optionen können mithilfe der Option sec in Gruppen zusammengefasst werden. Es wird davon ausgegangen, dass Optionen, die auf eine Option sec folgen, zur vorherigen Option sec gehören. Es können beliebig viele sec -Zeilengruppen angegeben werden, aber jede Sicherheitsmethode kann nur einmal angegeben werden. In jeder Zeilengruppe sec können die Optionen ro, rw, rootund access einmal angegeben werden. Nur die öffentlichen Optionen anon und vers werden für den Export als global betrachtet. Wenn die Option sec zur Angabe einer Sicherheitsmethode verwendet wird, müssen alle Sicherheitsmethoden angegeben werden. Wenn keine sec -Option vorhanden ist, wird UNIX -Authentifizierung angenommen.
Die folgenden Methodenwerte sind zulässig:
sys
UNIX-Authentifizierung.
dh
DES-Authentifizierung.
krb5
Kerberos. Nur Authentifizierung.
krb5i
Kerberos. Authentifizierung und Integrität.
krb5p
Kerberos. Authentifizierung, Integrität und Datenschutz.
keine
Lässt die Fortsetzung von Mountanforderungen mit anonymen Berechtigungsnachweisen zu, wenn die Mountanforderung eine Authentifizierungsmethode verwendet, die nicht im Export angegeben ist. Andernfalls wird ein schwacher Fehler auth zurückgegeben. Standardmäßig sind alle Versionen zulässig.
Die Option secure kann angegeben werden, aber nicht in Verbindung mit einer Option sec . Die Option secure ist veraltet und kann eliminiert werden. Verwenden Sie stattdessen sec=dh .
refer=Stammverzeichnispfad@Host [+Host] [:Stammverzeichnispfad@Host [+Host]
Ein Namensbereichsverweis wird im angegebenen Pfad erstellt. Dieser Verweis leitet Kunden an die angegebenen alternativen Positionen weiter, an denen die Kunden den Betrieb fortsetzen können. Ein Verweis ist ein spezielles Objekt. Ist im angegebenen Pfad ein Objekt ohne Verweis vorhanden, ist der Export nicht zulässig und es wird eine Fehlernachricht ausgegeben. Wenn im angegebenen Pfad nichts vorhanden ist, wird dort ein Verweisobjekt erstellt. Dieses Verweisobjekt enthält die Pfadnamensverzeichnisse, die zu dem Objekt führen. Es können mehrere Verweise in einem Dateisystem erstellt werden. Für nfsrootkann kein Verweis angegeben werden. Der Name Lokaler Host kann nicht als Hostname verwendet werden.

Das Rückgängigmachen des Exports eines Verweisobjekts wirkt sich auf das Entfernen der Verweispositionsinformationen aus dem Verweisobjekt aus. Durch das Zurücknehmen des Exports des Verweisobjekts wird das Verweisobjekt selbst nicht entfernt. Das Objekt kann bei Bedarf mit rm entfernt werden. Der Administrator muss sicherstellen, dass geeignete Daten auf den Bezugsservern verfügbar sind.

Diese Option ist nur unter AIX® Version 5.3.0.30 oder höher verfügbar und nur für Exporte der Version 4 zulässig. Wenn die Exportspezifikation den Zugriff mit Version 2 oder 3 zulässt, wird eine Fehlernachricht ausgegeben und der Export wird nicht zugelassen.
Anmerkung: Ein Verweisexport kann nur erfolgen, wenn die Replikation auf dem Server aktiviert ist. Verwenden Sie chnfs -R on , um die Replikation zu aktivieren.
Option (Fortsetzung)
replicas=Stammverzeichnispfad@Host [+Host][:Stammverzeichnispfad@Host [+Host]]
Informationen zur Replikatposition werden dem Exportpfad zugeordnet. Die Replikatinformationen können von NFS-Clients der Version 4 verwendet werden, um Operationen an die angegebenen alternativen Positionen umzuleiten, wenn der aktuelle Server nicht mehr verfügbar ist. Sie sollten sicherstellen, dass die entsprechenden Daten auf den Replikatservern verfügbar sind. Da Replikatinformationen für ein vollständiges Dateisystem gelten, muss der angegebene Pfad das Stammverzeichnis eines Dateisystems sein. Wenn der Pfad kein Dateisystemstammverzeichnis ist, ist der Export nicht zulässig und eine Fehlernachricht wird ausgegeben. Der Name Lokaler Host kann nicht als Hostname verwendet werden.

Wenn das zu exportierende Verzeichnis nicht in der Replikliste enthalten ist, wird der Eintrag Ex portedDirectory@CurrentHost“ als erster Replikstandort hinzugefügt. Ein Replikatexport kann nur durchgeführt werden, wenn die Replikation auf dem Server aktiviert ist. Standardmäßig ist die Replikation nicht aktiviert. Wenn beim Systemstart Replikatexporte durchgeführt werden, sollte die Replikation mit chnfs -R on aktiviert werden. Replikatpositionen können auch für nfsrootangegeben werden. Zu diesem Zweck muss der Befehl Chnfs verwendet werden. In diesem Fall lautet der Befehl chnfs -R host [ + host ]. Wenn der aktuelle Host nicht in der Liste angegeben ist, wird er als erster Replikathost hinzugefügt. In diesem Fall ist Stammverzeichnispfad nicht erforderlich oder zulässig. Der Grund dafür ist, dass nfsroot nur auf den NFS-Wurzeln der angegebenen Hosts repliziert wird. Der Replikationsmodus kann nur geändert werden, wenn keine aktiven NFS -Exporte der Version 4 vorhanden sind. Wenn der Replikationsmodus des Servers geändert wird, werden alle Dateikennungen, die vom Server im vorherigen Replikationsmodus ausgegeben wurden, vom Server nicht berücksichtigt. Dies kann zu Anwendungsfehlern auf Clients mit alten Dateikennungen führen. Beim Ändern des Replikationsmodus des Servers ist Vorsicht geboten. Wenn möglich, sollten alle Client-Mounts für den Server abgehängt werden, bevor der Replikationsmodus des Servers geändert wird. Die dem Verzeichnis zugeordneten Replikatpositionsinformationen können geändert werden, indem die Replikatliste geändert und das Verzeichnis erneut exportiert wird. Die neuen Replikatinformationen ersetzen die alten Replikatinformationen.

Es wird erwartet, dass NFS-Clients Replikatinformationen regelmäßig aktualisieren. Wenn der Server die Replikatinformationen für einen Export ändert, kann es einige Zeit dauern, bis der Client seine Replikatinformationen aktualisiert hat. Dies ist kein schwerwiegendes Problem, wenn neue Replikatpositionen hinzugefügt werden, weil Clients mit alten Replikatinformationen immer noch korrekte, aber möglicherweise unvollständige Replikatinformationen haben. Das Entfernen von Replikatinformationen kann problematisch sein, weil dies dazu führen kann, dass Clients für einen bestimmten Zeitraum falsche Replikatinformationen haben. Damit Clients die neuen Informationen erkennen können, versucht Exportdateien , das replizierte Verzeichnis zu berühren. Dadurch werden die Zeitmarken im Verzeichnis geändert, was wiederum dazu führt, dass der Client die Attribute des Verzeichnisses erneut abruft. Diese Operation ist möglicherweise nicht möglich, wenn das replizierte Dateisystem schreibgeschützt ist. Wenn Sie Replikatinformationen für ein Verzeichnis ändern, sollten Sie sich bewusst sein, dass es einen Zeitraum zwischen dem Ändern der Replikatinformationen und dem Abrufen der neuen Replikatinformationen durch Clients geben kann.

Diese Option ist nur unter AIX Version 5.3.0.30 oder höher verfügbar und nur für Exporte der Version 4 von Bedeutung. Wenn die Option für einen Export verwendet wird, der den Zugriff mit Version 2 oder 3 zulässt, wird die Operation zwar zugelassen, aber die Replikatinformationen werden jedoch von den Servern der Version 2 und 3 ignoriert.

noauto
Akzeptiert die Replikatspezifikation unverändert. Der primäre Hostname wird nicht automatisch als eine der Replikatpositionen eingefügt, wenn er nicht angegeben wurde.

nfsroot und nfspublic

Damit der NFS -Serveradministrator einige Details des lokalen Dateisystems vor Clients verbergen kann, wurden die Attribute nfsroot und nfspublic zur Implementierung von NFS Version 4 hinzugefügt. nfsroot und nfspublic können unabhängig voneinander angegeben werden, nfspublic muss jedoch ein Unterverzeichnis von nfsrootsein. Wenn nfsroot festgelegt ist, kann ein lokales Verzeichnis exportiert werden, sodass es für den Client als Unterverzeichnis von nfsrootangezeigt wird. Die exportierten Verzeichnisse müssen eingeschränkt werden, um Probleme zu vermeiden:
  • nfsroot darf nicht "/" sein.
  • Entweder müssen alle Exporte der Version 4 einen externen Namen oder keinen externen Namen angeben.
  • Der externe Name muss mit dem Namen nfsroot beginnen. Wenn nfsroot beispielsweise auf /export/servergesetzt wurde, kann das Verzeichnis /export/server/abc als externer Name verwendet werden, aber das Verzeichnis /abc kann nicht als externer Name verwendet werden. In diesem Beispiel kann das Verzeichnis /tmp als /export/server/tmpexportiert werden, aber /tmp kann nicht als /xyzexportiert werden.
  • Wenn die Option -exname verwendet wird, kann nur ein Verzeichnis pro Dateisystem exportiert werden.
  • Wenn ein Verzeichnis mit einem externen Namen exportiert wird, muss jedes untergeordnete Element dieses Verzeichnisses, das ebenfalls exportiert wird, denselben Pfad zwischen den zwei Verzeichnissen beibehalten. Wenn beispielsweise /a als /export/diraexportiert wird, kann das Verzeichnis /a/b/c/d nur als /export/dira/b/c/dexportiert werden, vorausgesetzt, /a und /a/b/c/d sind unterschiedliche Dateisysteme oder Member verschiedener Dateisysteme.
  • Wenn ein Verzeichnis mit einem externen Namen exportiert wird, muss jedes übergeordnete Element dieses Verzeichnisses, das ebenfalls exportiert wird, denselben Pfad zwischen den beiden Verzeichnissen beibehalten. Wenn beispielsweise /a/b als /export/a/bexportiert wird, kann das Verzeichnis /a nur als /export/aexportiert werden, vorausgesetzt, /a und /a/b sind unterschiedliche Dateisysteme oder Member verschiedener Dateisysteme. Wenn /a/b als /export/bexportiert wird, kann das Verzeichnis /a nicht exportiert werden, weil es nicht im Pfad vom Stammknoten zum Exportieren des Pfadnamens /bvorhanden ist.
  • Der Befehl exportfs lässt die Option exname nur zu, wenn auch die Optionen -vers=4 vorhanden sind.

Die Verwaltung von nfsroot, nfspublicund Replikation erfolgt mit dem Befehl Chnfs .

Beispiele

  1. Geben Sie Folgendes ein, um auf Netzgruppe -Clients zu exportieren:
    /usr -access=clients
  2. Geben Sie Folgendes ein, um in die Welt zu exportieren:
    /usr/local
  3. Geben Sie Folgendes ein, um nur auf diese Systeme zu exportieren:
    /usr2 -access=hermes:zip:tutorial
  4. Geben Sie Folgendes ein, um Rootzugriff nur auf diese Systeme zu erteilen:
    /usr/tps -root=hermes:zip
  5. Geben Sie Folgendes ein, um Clientrootbenutzer in Gastbenutzer UID=100zu konvertieren:
    /usr/new -anon=100
  6. Geben Sie Folgendes ein, um Lesezugriff für alle Benutzer zu exportieren:
    /usr/bin -ro
  7. Geben Sie Folgendes ein, um mehrere Optionen in einer Zeile zuzulassen:
    /usr/stuff -access=zip,anon=-3,ro
  8. Um einen Verweis in /usr/info auf das Verzeichnis /usr/info auf dem Host infoserverzu erstellen, fügen Sie die folgende Zeile zu /etc/exports hinzu und exportieren Sie dann /usr/info:
    /usr/info -vers=4,refer=/usr/info@infoserver
  9. Um Replikate für das Verzeichnis /common/info auf den Hosts backup1 und backup2anzugeben, fügen Sie die folgende Zeile zur Datei /etc/exports hinzu und exportieren Sie dann /common/info:
    /common/info -vers=4,replicas=/common/info@backup1:/common/info@backup2,<other options>

Dateien

Element Beschreibung
/etc/xtab Listet die momentan exportierten Verzeichnisse auf.
/etc/hosts Enthält einen Eintrag für jeden Host im Netz.
/etc/netgroup Enthält Informationen zu jeder Benutzergruppe im Netz.