![]() |
|
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. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Eine der Hauptanwendungen von NIS ist die Synchronisation von Benutzer- und Accounting-Informationen auf allen Hosts in einer NIS-Domain. Daher haben Sie üblicherweise nur eine kleine lokale /etc/passwd-Datei, an die die Domain-weiten Informationen aus den NIS-Maps angehängt werden. Allerdings reicht die Aktivierung von NIS-Lookups für diesen Service in nsswitch.conf bei weitem nicht aus.
Wenn Sie sich auf die von NIS verteilten Paßwortinformationen verlassen, müssen Sie zuerst sicherstellen, daß die numerischen Benutzer-IDs aller in Ihrer lokalen passwd-Datei stehenden Benutzer mit den Vorstellungen des NIS-Servers von Benutzer-IDs übereinstimmen. Die Konsistenz der Benutzer-IDs ist auch wichtig für andere Zwecke, wie etwa dem Mounten von NFS-Verzeichnissen von anderen Hosts in Ihrem Netzwerk.
Wenn sich numerische IDs in /etc/passwd oder /etc/group von denen in den Maps unterscheiden, müssen Sie zuerst die Besitzrechte für alle Dateien korrigieren, die diesem Benutzer gehören. Zuerst sollten Sie alle UIDs und GIDs in passwd und group auf die neuen Werte setzen, alle Dateien suchen, die den gerade geänderten Benutzern gehören, und schließlich deren Besitzrechte entsprechend ändern. Nehmen wir einfach an, news hätte die Benutzer-ID 9 und okir hätte die Benutzer-ID 103 gehabt, die beide durch einen anderen Wert ersetzt wurden. Sie können dann als root die folgenden Befehle eingeben:
#
find / -uid 9 -print >/tmp/uid.9
# find / -uid 103 -print >/tmp/uid.103
# cat /tmp/uid.9 | xargs chown news
# cat /tmp/uid.103 | xargs chown okir
Es ist wichtig, daß Sie diese Befehle mit der neu installierten passwd-Datei aufrufen und daß Sie alle Dateinamen ermitteln, bevor Sie deren Besitzrechte ändern. Zum Aktualisieren der Gruppen-Besitzerrechte verwenden Sie einen vergleichbaren Befehl mit der GID anstelle der UID und chgrp anstelle von chown.
Nachdem Sie dies erledigt haben, stimmen die numerischen UIDs und GIDs auf Ihrem System mit denen auf allen anderen Hosts in Ihrer NIS-Domain überein. Der nächste Schritt ist, einige Konfigurationszeilen in nsswitch.conf einzutragen, die die NIS-Lookups für Benutzer- und Gruppeninformationen aktivieren:
# /etc/nsswitch.conf - Behandlung von passwd und group passwd: nis files group: nis files
Dies hat Einfluß darauf, wo der login-Befehl und all seine Freunde nach Benutzerinformationen Ausschau halten. Versucht sich ein Benutzer einzuloggen, fragt login zuerst die NIS-Maps ab; erst wenn dies fehlschlägt, wird auf die lokalen Dateien zurückgegriffen. Üblicherweise entfernen Sie fast alle Benutzer aus Ihren lokalen Dateien und lassen nur Einträge für root und allgemeine Benutzerkonten wie mail stehen. Der Grund dafür liegt darin, daß einige wichtige System-Tasks UIDs auf Benutzernamen abbilden müssen und umgekehrt. Zum Beispiel könnten administrative cron-Jobs den su-Befehl ausführen, um kurzzeitig news zu werden, oder das UUCP-Subsystem könnte einen Statusreport über E-Mail übertragen. Besitzen news und uucp keinen Eintrag in der lokalen passwd-Datei, schlagen diese Jobs während eines NIS-Ausfalls kläglich fehl.
Wenn Sie schließlich eine der alten NIS-Implementierungen benutzen (unterstützt vom compat-Modus für die passwd- und group-Dateien in den NYS- oder glibc-Implementierungen), müssen Sie die unhandlichen Spezialeinträge in sie einfügen. Diese Einträge geben an, wo die von NIS abgeleiteten Datensätze in die Datenbank mit den Informationen eingefügt werden. Diese Einträge können an beliebiger Stelle eingetragen werden, üblicherweise werden sie aber ans Ende angehängt. Die für /etc/passwd notwendigen Einträge sind:
und für die /etc/groups-Datei:
+::::::
+:::
Sowohl bei glibc 2.x als auch bei NYS können Sie die Parameter in Benutzereinträgen, die vom NIS-Server empfangen wurden, überschreiben, indem Sie neue Einträge mit Login-Namen erzeugen, denen ein “+” vorangestellt ist. Demgegenüber führt ein vorangestelltes “-” zum Ausschluß dieser Benutzer. Im Beispiel
würde die vom NIS-Server vorgegebene Login-Shell des Benutzers stuart mit der angegebenen Shell überschrieben werden. Außerdem würde verhindert werden, daß sich der Benutzer jedd in diese Maschine einloggen kann. Für die leeren Felder werden die vom NIS-Server gelieferten Informationen übernommen.
+stuart::::::/bin/jacl
-jedd::::::
Nun gibt es an dieser Stelle aber zwei große Vorbehalte. Zum einen funktioniert das bisher beschriebene Setup nur für Login-Verfahren, die keine Shadow-Paßwörter benutzen. Die Komplikationen bei der Verwendung von Shadow-Paßwörtern mit NIS werden später noch behandelt. Zum anderen sind die Login-Befehle nicht die einzigen, die auf die passwd-Datei zugreifen — sehen Sie sich den ls-Befehl an, den die meisten Leute fast dauernd benutzen. Wenn Sie ein ausführliches Inhaltsverzeichnis anfordern, gibt ls die symbolischen Namen der Benutzer und Gruppenbesitzer einer Datei aus. Das bedeutet, daß für jede UID und GID, der ls begegnet, der NIS-Server einmal abgefragt werden muß. Eine NIS-Abfrage dauert immer etwas länger als das Durchsuchen einer lokalen Datei. Sie werden feststellen, daß die gemeinsame Benutzung Ihrer passwd- und group-Informationen über NIS den Durchsatz einiger Programme, die regelmäßig darauf zurückgreifen, deutlich verringert.
Aber das ist noch nicht alles. Stellen Sie sich vor, was passiert, wenn eine Benutzerin ihr Paßwort ändern möchte. Normalerweise würde sie passwd aufrufen, das das neue Paßwort einliest und die lokale passwd-Datei aktualisiert. Das ist bei NIS unmöglich, weil die Datei lokal nicht mehr vorhanden ist. Daß sich Benutzer in den NIS-Server einloggen, wenn sie das Paßwort ändern wollen, ist auch keine Lösung. NIS stellt aus diesem Grund ein Programm namens yppasswd als Ersatz für passwd bereit, das dieselbe Aufgabe unter NIS übernimmt. Um das Paßwort auf dem Server-Host zu ändern, ruft es den yppasswdd-Dämon auf diesem Host über RPC auf und versorgt ihn mit der aktualisierten Paßwortinformation. Normalerweise ersetzen Sie das normale Programm durch yppasswd, beispielsweise durch die nachstehende Befehlsfolge:
#
cd /bin
# mv passwd passwd.old
# ln yppasswd passwd
Gleichzeitig müssen Sie rpc.yppasswdd auf dem Server installieren und ihn von einem Netzwerkskript aus starten. Auf diese Weise werden die gesamten Klimmzüge von NIS vor den Benutzern versteckt.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser für Netzwerker
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2001, O'Reilly Verlag