![]() |
|
Linux - Wegweiser für NetzwerkerOnline-VersionCopyright © 2001
by O'Reilly Verlag GmbH & Co.KG Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen. Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser für Netzwerker oder wollen Sie es bestellen, dann klicken Sie bitte hier. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wenn Sie sicher sind, daß Sie den NIS-Server erreichen, müssen Sie entscheiden, welche Konfigurationsdateien durch NIS-Maps ersetzt oder erweitert werden sollen. Üblicherweise wollen Sie NIS-Maps für die Host- und Paßwort-Lookup-Funktionen benutzen. Das erstere ist besonders nützlich, wenn Sie keinen BIND-Dienst haben. Durch den Paßwort-Lookup können sich alle Benutzer an jedem System innerhalb der NIS-Domain einloggen. Das geht normalerweise einher mit der Nutzung eines zentralen /home-Verzeichnisses zwischen allen Hosts über NFS. Die Paßwort-Map wird im nächsten Abschnitt ausführlich behandelt.
Andere Maps wie services.byname bieten Ihnen keine solch großartigen Vorteile, sparen Ihnen aber einiges an Tipparbeit. services.byname ist besonders nützlich, wenn Sie Netzwerkanwendungen installieren, die den Namen eines Dienstes verwenden, der nicht in der standardmäßigen services-Datei angegeben ist.
Normalerweise wollen Sie die Wahl haben, wann eine Lookup-Funktion die lokalen Dateien, den NIS-Server oder andere Server wie DNS verwendet. Bei GNU libc können Sie die Reihenfolge festlegen, in der eine Funktion auf diese Dienste zugreift. Gesteuert wird dies durch die Datei /etc/nsswitch.conf, die für Name Service Switch steht, aber natürlich nicht nur auf den Namensdienst beschränkt ist. Für jede der von GNU libc unterstützten Lookup-Funktionen enthält sie eine Zeile, die die Namen der zu verwendenden Dienstes enthält.
Die richtige Reihenfolge der Dienste ist vom Typ der Daten abhängig, den die Dienste anbieten. Es ist unwahrscheinlich, daß die services.byname-Map Einträge enthält, die sich von der lokalen services-Datei unterscheiden; eher enthält sie zusätzliche Einträge. Es ist also durchaus sinnvoll, zuerst die lokalen Dateien abzufragen und NIS nur dann zu nutzen, wenn der Service-Name nicht gefunden werden konnte. Andererseits können sich Informationen zu Hostnamen sehr häufig verändern, so daß DNS oder NIS die genauesten Informationen enthalten sollten, während die lokale hosts-Datei nur als Backup verwendet wird, falls DNS und NIS nicht funktionieren sollten. Für Hostnamen würden Sie die lokalen Dateien also zuletzt verwenden.
Das folgende Beispiel zeigt, wie Sie gethostbyname und gethostbyaddr dazu bringen, zuerst in NIS und DNS nachzusehen, bevor auf die lokale hosts-Datei zugegriffen wird, und wie Sie getservbyname veranlassen, erst in den lokalen Dateien zu suchen und erst dann NIS zu befragen. Diese Resolver-Funktionen probieren die aufgelisteten Dienste der Reihe nach durch. Ist ein Lookup erfolgreich, wird das Ergebnis zurückgegeben, ansonsten wird der nächste Service ausprobiert. Die Prioritäten werden wie folgt definiert:
# Beispieldatei /etc/nsswitch.conf # hosts: nis dns files services: files nis
Eine komplette Liste aller Dienste und Orte, die mit einem Eintrag in nsswitch.conf verwendet werden können, ist nachfolgend aufgeführt. Welche Maps, Dateien, Server und Objekte tatsächlich angefordert werden, ist vom Namen des Eintrags abhängig. Nach dem Doppelpunkt kann folgendes erscheinen:
Wie der abzufragende Server erreicht werden kann, wird in der Datei yp.conf festgelegt, wie im vorhergehenden Abschnitt beschrieben. Beim hosts-Eintrag werden die Maps hosts.byname und hosts.byaddr abgefragt.
Benutze den NIS+-Server für diese Domain. Wo der Server erreicht werden kann, wird der Datei /etc/nis.conf entnommen.
Benutze den DNS-Name-Server. Dieser Service-Typ ist nur für den hosts-Eintrag sinnvoll. Die abzufragenden Name-Server werden weiterhin aus der Standarddatei resolv.conf ermittelt.
Benutze die lokale Datei, wie z.B. /etc/hosts für den hosts-Eintrag.
Für Kompatibilität mit älteren Dateiformaten. Diese Option kann benutzt werden, wenn entweder NYS oder glibc 2.x für NIS- und NIS+-Lookups verwendet werden. Normalerweise können diese Versionen ältere NIS-Einträge in passwd und group nicht verarbeiten. Erst die Option compat macht es möglich.
Suche die Informationen in DBM-Dateien im Verzeichnis /var/dbm. Der für die Datei verwendete Name ist derjenige der entsprechenden NIS-Map.
Momentan unterstützt NIS in GNU libc die folgenden nsswitch.conf-Einträge: aliases, ethers.group, hosts, netgroup, network, passwd, protocols, publickey, rpc, services und shadow. Weitere Einträge werden wohl folgen.
Tabelle 13.2 zeigt ein vollständigeres Beispiel, das ein weiteres Feature von nsswitch. conf einführt. Das Schlüsselwort [NOTFOUND=return] im hosts-Eintrag weist den NIS-Client an, die Suche abzubrechen, wenn der benötigte Eintrag in der NIS- oder DNS-Datenbank nicht gefunden werden konnte. Das bedeutet, daß der NIS-Client die Suche in lokalen Dateien nur aufnimmt, wenn Anforderungen an die NIS- oder DNS-Server aus einem anderen Grund fehlgeschlagen sind. Die lokalen Dateien werden dann nur während des Systemstarts und als Backup benutzt, wenn der NIS-Server nicht erreichbar ist.
Beispiel 13.2: Beispieldatei nsswitch.conf
# /etc/nsswitch.conf # hosts: nis dns [NOTFOUND=return] files networks: nis [NOTFOUND=return] files services: files nis protocols: files nis rpc: files nis
GNU libc bietet noch einige andere Aktionen, die in der Manpage nsswitch beschrieben sind.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser für Netzwerker
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2001, O'Reilly Verlag