Synchronisieren von Benutzerkonten auf mehreren Servern


8

Ich habe mich gefragt, ob es eine bessere Möglichkeit gibt, Benutzerkonten auf mehreren Servern zu verwalten.

Im Moment habe ich ein Hauptbenutzerkonto (z. B. "Benutzer") auf meinem Heim- / Entwicklungscomputer, und für jeden Server erstelle ich manuell dasselbe "Benutzerkonto". Dann benutze ich rsync, um mein .ssh-Verzeichnis und alle anderen Verzeichnisse, die ich möchte, auf jeden neuen Server zu kopieren.

Während dies für die Verwaltung der 2 Server, die ich derzeit verwalte, in Ordnung zu sein scheint, kann ich mir nicht vorstellen, dasselbe für mehr als 10 Server zu tun, und habe mich gefragt, wie dies am besten zu bewerkstelligen ist.

Vielen Dank!

Antworten:


11

Es gibt zwei beliebte Ansätze

  • Sie richten entweder die zentrale Authentifizierung ein (ldap, nis).
  • Sie richten ein Konfigurationsverwaltungssystem (Puppet, Chef, Cfengine, Shell-Skript) ein, um automatisch Konten zu erstellen und die Umgebung auf allen verwalteten Systemen zu konfigurieren.

Zentrale Authentifizierungssysteme sind gut, wenn alle Systeme unter der Kontrolle derselben Organisation stehen. Dies ist in der Regel erforderlich, wenn Sie viele Benutzer haben und wenn die Authentifizierung für viele Dinge verwendet werden muss, die hinter dem einfachen Anmelden stehen.

Die Konfigurationsverwaltung ist gut, wenn Sie im Allgemeinen nur eine kleine Anzahl von Remote-Administratorkonten und Dienstkonten einrichten müssen.


@OP Für was es wert ist. Ich würde die erstere Option sehr empfehlen. Benutze dafür keine Puppe. Es kann zu einem totalen Schmerz und einem Minenfeld von Ausnahmen und Sonderfällen werden, selbst wenn Sie zunächst nicht glauben, dass dies der Fall sein wird. Verwenden Sie ldap, nis usw. Dafür sind sie da.
Sirex

@Sirex, es gibt einige Anwendungsfälle für ein Konfigurationsverwaltungssystem über eine zentrale Authentifizierung. Ich verwalte viele Linux-Boxen anderer Leute Netzwerke. Es ist einfach keine Option, sie alle zu einem einzigen Verzeichnis zusammenzufügen, aber ich muss einige Konten verwalten, die allen Systemen gemeinsam sind. Ich bin damit einverstanden, dass Sie ein zentrales Authentifizierungssystem bevorzugen sollten, wenn es für Sie funktioniert.
Zoredache

Und wenn möglich LDAP verwenden. Als Administrator, der für die Verwaltung eines großen NIS-Netzwerks verantwortlich ist und herausfindet, wie die SSO-Systeme neuer Dienste in diesem Netzwerk funktionieren können, ist dies ein königlicher Schmerz.
Magellan

@Zoredache, können Sie erläutern, wie Sie Benutzer-Home-Verzeichnisse über LDAP-Informationen bereitstellen und damit Sudo-Privilegien verwalten können?
Mike Pennington

4

Bei kleineren / einfacheren Bereitstellungen kann ein Projekt namens Internet Account Replication (IAR) hilfreich sein. Es verfügt über eine einfache Server-Client-Architektur und synchronisiert die Anmeldeinformationen mithilfe von SSH.


Interessant, obwohl ich eine Weile keine Aktivität bemerke? Obwohl ich auf der Idee basiert, denke ich darüber nach, Dateien für nss-Extrauser mit synctool oder ähnlichem zu verteilen
Steve Dee

3

Ich möchte auch zu Zoredaches Antwort hinzufügen, dass NIS nicht der richtige Weg ist, um etwas zu tun, das von mehr als ein paar Leuten genutzt wird oder einen öffentlichen Zugang beinhaltet. NIS weist einige Besonderheiten auf, und es ist sehr einfach, ein erhebliches Sicherheitsrisiko in NIS einzuführen.

Ich habe Implementierungen gesehen, bei denen die Kennwort-Hashes in den passwd-Benutzerzuordnungen enthalten sind.

Es ist auch ziemlich einfach, einen böswilligen Server in ein NIS-Netzwerk zu injizieren, das sendet. Besonders gefährlich bei den in der Passwd-Karte enthaltenen Passwort-Hashes. Installieren Sie eine Ubuntu-Box, '' apt-get install nis '', und Sie sind dabei und können eine Liste der Benutzer im Netzwerk abrufen.


0

Für die Lösung dieses Problems wurde NIS erfunden.


5
Nun ja. Es könnte dafür erfunden worden sein. Aber die 1980er Jahre riefen an und sie wollen ihren Verzeichnisdienst zurück.
Magellan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.