Halten Sie Konfigurationen, Benutzer-IDs, Gruppen und Kennwörter auf allen Linux-Servern konsistent

7

Ich habe ein paar Debian-Server mit nur wenigen Benutzern und Diensten. Die Anwendungen werden so weit wie möglich in ihren eigenen Verzeichnissen gespeichert, wo sie einfach gesichert oder synchronisiert werden können.

Ich habe jedoch Probleme, einen einfachen und zuverlässigen Weg zu finden, um die umgebenden Daten zu sichern und sie im Falle von Upgrades / Failovers usw. einfach auf neue Server anzuwenden. Durch umgebende Daten beziehe ich mich auf Dateien in / etc, einige Punkte. Dateien in ~ HOME oder den Crontab-Einträgen.

Wie würden Sie die folgende Strategie beim Serverwechsel verbessern:

  1. Kopieren Sie auch / etc / passwd, / etc / group und / etc / shadow von einem anderen Server, um die numerischen IDs konsistent zu halten
  2. Kopieren Sie das gesamte Verzeichnis / home und / root über
  3. Kopieren Sie die Anwendungseinstellungen manuell in / etc (z. B. / etc / apache2, / etc / php, / etc / proftpd ... und ihre Einträge in / etc / default / tomcat6
  4. Installieren Sie die Programme über apt.

Es gibt keine menschlichen Benutzer, daher keine Urkunde, um den Inhalt von Home-Verzeichnissen synchron zu halten. Es dreht sich alles um Dinge wie .ssh-Schlüssel usw.

Martin
quelle

Antworten:

10

Jede richtige Antwort wird mehr oder weniger darauf hinauslaufen:

  1. Behalten Sie Konfigurationen in einem Konfigurationsverwaltungssystem. Diese können auch Paketinstallationen und Upgrades durchführen. (Marionette, Koch usw.)
  2. Verwenden Sie eine Art zentralisierte Datenbank für Benutzer- und Gruppeninformationen. (LDAP, Kerberos, NIS usw.)
  3. Verwenden Sie Shared Storage für /home. (NFS ist hier die am häufigsten verwendete Methode)
EEAA
quelle
Dies sollte ein Kommentar zur Antwort der EEAA sein. Anstelle einer Benutzerdatenbank würde ich zur einfachen Verwendung webmin ausprobieren. Es kann Benutzer / Gruppen / Pakete zwischen Servern problemlos synchronisieren. Leider kann es nichts gegen Konfigurationsdateien tun, es sei denn, Sie möchten eine geplante Dateikopie durchführen.
Squall5668
Entschuldigung, ich kann weder Webmin noch ein anderes GUI-Kontrollfeld verwenden.
EEAA
Vielen Dank für diese Antwort. Ich schaue mir derzeit die Konfigurationssysteme an und stimme zu, dass Ihre Antwort wahrscheinlich die beste Lösung für meine Frage ist. Trotzdem scheint es mir, dass ich das Problem nur auf eine andere Ebene schiebe. Um ein Konfigurationssystem zu verwenden, muss ich es und einen Benutzer dafür installieren, sicherstellen, dass es die vorhandenen numerischen IDs, die ich auf verschiedenen Servern verwende, nicht beeinträchtigt, einen shh-Schlüssel oder andere Authentifizierungsmethoden speichert ... Aber im Grunde ist dies so nicht viel mehr als ich vorher brauchte.
Martin
1
@Martin - Der Unterschied zu Konfigurationsverwaltungssystemen besteht darin, dass sie skaliert werden . Konfigurationswerte, die allen oder vielen Ihrer Systeme gemeinsam sind, lassen sich sehr einfach ändern. Aktualisieren Sie sie einfach an einer Stelle und sie werden automatisch auf alle Systeme angewendet. Darüber hinaus können Sie mit einem Konfigurationsverwaltungssystem Ihre Konfiguration in der Versionskontrolle behalten.
EEAA
@EEAA Ja, die Versionskontrolle ist wahrscheinlich das Beste daran. Ich habe mich entschlossen, cdist auszuprobieren. Es scheint die leichteste Software zu sein, die ich gefunden habe.
Martin