Im Katalog suchen

Linux - Wegweiser für Netzwerker

Online-Version

Copyright © 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.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel



Mit NIS vertraut werden

NIS hält seine Datenbankinformationen in Dateien, die als Maps (etwa: Zuordnungen) bezeichnet werden und Schlüssel/Wert-Paare enthalten. Ein solches Paar besteht zum Beispiel aus einem Benutzernamen und einer verschlüsselten Version des Login-Paßwortes. Maps werden auf einem zentralen Host gespeichert, auf dem der NIS-Server läuft. Clients erhalten die Informationen von diesem Server über verschiedene RPC-Aufrufe. Häufig werden Maps in DBM-Dateien gespeichert.1

Die Maps selbst werden üblicherweise aus sogenannten Master-Dateien generiert. Dabei handelt es sich um Textdateien wie /etc/hosts oder /etc/passwd. Für manche Dateien werden mehrere Maps erzeugt, jeweils eine pro Suchschlüsseltyp. Zum Beispiel können Sie die hosts-Datei sowohl nach einem Hostnamen als auch nach einer IP-Adresse durchsuchen. Dementsprechend werden daraus zwei NIS-Maps erzeugt: hosts. byname und hosts.byaddr. Tabelle 13.1 enthält eine Liste der gängigen Maps und der Dateien, aus denen sie generiert werden.

Tabelle 13.1: Einige Standard-NIS-Maps und die entsprechenden Dateien

Master-Datei Map(s) Erläuterung
/etc/hosts

hosts.byname, hosts.byaddr

Zuordnung von Hostnamen und IP-Adressen.

/etc/ ­networks

networks.byname, networks.byaddr

Zuordnung von IP-Netzwerkadressen und Netzwerk­namen.

/etc/passwd

passwd.byname, passwd.byuid

Zuordnung von verschlüsselten Paßwörtern und Benutzernamen.

/etc/group

group.byname, group.bygid

Zuordnung von Gruppen-IDs und Gruppennamen.

/etc/services

services.byname, services.bynumber

Zuordnung von Dienstbeschreibungen und Dienst­namen.

/etc/rpc

rpc.byname, rpc.bynumber

Zuordnung von Sun-RPC-Dienstnummern und RPC-Dienstnamen.

/etc/ ­protocols

protocols.byname, protocols.bynumber

Zuordnung von Protokollnummern und Protokollnamen.

/usr/lib/aliases mail.aliases

Zuordnung von Mail-Aliases und Mail-Alias-Namen.

In anderen NIS-Paketen könnten auch weitere Dateien und Maps unterstützt werden. Diese enthalten in der Regel Informationen zu Programmen, die in diesem Buch nicht behandelt werden. Dazu gehört beispielsweise die Map bootparams, die von Suns ­bootparamd-Server verwendet wird.

Für einige Maps werden normalerweise Spitznamen (Nicknames) verwendet, die kürzer und darum auch einfacher einzugeben sind. Beachten Sie, daß diese Spitznamen nur von ypcat und ypmatch verstanden werden. Das sind zwei Tools, mit denen Sie Ihre NIS-Konfiguration überprüfen können. Um eine Übersicht aller in diesen Programmen bekannten Spitznamen zu erhalten, führen Sie den folgenden Befehl aus:

$ ypcat -x 
Use "passwd" for "passwd.byname" 
Use "group" for "group.byname" 
Use "networks" for "networks.byaddr" 
Use "hosts" for "hosts.byaddr" 
Use "protocols" for "protocols.bynumber" 
Use "services" for "services.byname" 
Use "aliases" for "mail.aliases" 
Use "ethers" for "ethers.byname"

Das NIS-Serverprogramm wird traditionell ypserv genannt. Für ein durchschnittliches Netzwerk reicht ein einzelner Server normalerweise aus. Große Netzwerke verwenden mehrere davon auf verschiedenen Maschinen und Segmenten des Netzwerks, um die Last der Server und Router zu verringern. Diese Server werden synchronisiert, indem einer von ihnen als Master-Server und die anderen als Slave-Server eingerichtet werden. Die Maps werden nur auf dem Host des Master-Servers erzeugt. Von dort aus werden sie an alle Slaves verteilt.

Wir haben uns bisher nur sehr oberflächlich über “Netzwerke” unterhalten. Unter NIS gibt es eine eindeutige Bezeichnung für eine Gruppe aller Maschinen, die sich einen Teil ihrer Systemkonfigurationsdaten über NIS teilen: die NIS-Domain. Leider haben NIS-Domains überhaupt nichts mit den Domains gemeinsam, denen wir bei DNS begegnet sind. Um in diesem Kapitel Verwechslungen zu vermeiden, geben wir immer an, welchen Typ wir gerade meinen.

NIS-Domains haben nur eine rein administrative Funktion. Sie sind zumeist unsichtbar für die Anwender, ausgenommen, es geht um die gemeinsame Nutzung von Paßwörtern zwischen allen Maschinen in der Domain. Der an eine NIS-Domain vergebene Name ist daher nur für die Administratoren von Bedeutung. Für gewöhnlich kann jeder Name genommen werden, solange er sich von den anderen NIS-Domainnamen in Ihrem LAN unterscheidet. Beispielsweise könnte die Administratorin der virtuellen Brauerei sich entschließen, zwei NIS-Domains aufzubauen, eine für die Brauerei selbst und eine für die Winzerei, für die sie die Namen brewery bzw. winery wählt. Häufig wird einfach der DNS-Domainname auch für NIS benutzt.

Den NIS-Domainnamen Ihres Hosts können Sie mit dem Befehl domainname setzen. Rufen Sie ihn ohne Argumente auf, wird der aktuelle NIS-Domainname ausgegeben. Wenn Sie den Namen neu setzen wollen, müssen Sie als root folgendes eingeben:

# domainname brewery

NIS-Domains bestimmen, welchen NIS-Server eine Anwendung abfragt. Zum Beispiel sollte das login-Programm auf einem Host der Winzerei natürlich nur den NIS-Server der Winzerei (oder einen davon, falls es mehrere gibt) nach den Paßwortinformationen eines Benutzers abfragen. Eine Anwendung auf einem Host der Brauerei sollte dementsprechend den Server der Brauerei verwenden.

Ein Geheimnis muß allerdings noch gelüftet werden: Wie findet ein Client heraus, auf welchen Server er zugreifen muß? Die einfachste Lösung wäre eine Konfigurationsdatei, die den Namen des Hosts enthält, auf dem sich der Server befindet. Andererseits ist diese Lösung ziemlich unflexibel, weil sie es Clients nicht erlaubt, auf verschiedene Server (natürlich innerhalb derselben Domain) — abhängig von ihrer Verfügbarkeit — zuzugreifen. NIS-Implementierungen vertrauen daher einem speziellen Dämon namens ypbind, um einen geeigneten NIS-Server in ihrer NIS-Domain zu ermitteln. Bevor eine Anwendung irgendwelche NIS-Anfragen durchführt, fragt sie erst bei ypbind an, welchen Server sie dafür benutzen soll.

ypbind sucht nach Servern, indem es eine Broadcast-Anfrage an alle Stationen im lokalen IP-Netzwerk verschickt. Der erste Server, der antwortet, wird als der schnellste betrachtet und für alle weiteren NIS-Anfragen eingesetzt. Nach einer gewissen Zeit oder falls der Server nicht mehr erreichbar ist, sucht ypbind erneut nach aktiven Servern.

Dynamische Bindung ist nur dann wirklich nützlich, wenn Ihr Netzwerk mehrere NIS-Server zur Verfügung stellt. Dynamische Bindung bringt allerdings auch ein Sicherheitsproblem mit sich: ypbind vertraut blindlings jedem, der antwortet, sei es ein einfacher NIS-Server oder ein böswilliger Eindringling. Müßig zu erwähnen, daß dies besonders gefährlich wird, wenn Sie Ihre Paßwortdateien über NIS verwalten. Um sich davor zu schützen, bietet Ihnen das ypbind-Programm in Linux die Option, das lokale Netzwerk nach einem lokalen NIS-Server zu durchsuchen oder den Hostnamen des NIS-Servers direkt in einer Konfigurationsdatei vorzugeben.




1.

DBM ist eine einfache Datenbankverwaltungs-Bibliothek, die eine Hashtechnik verwendet, um Suchoperationen zu beschleunigen. Vom GNU-Projekt gibt es eine freie DBM-Implementierung namens gdbm, die in den meisten Linux-Distributionen enthalten ist.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser für Netzwerker

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home|O'Reilly-Partnerbuchhandlungen|Bestellinformationen
Kontakt|Über O'Reilly|Datenschutz

© 2001, O'Reilly Verlag