Wie verwalten Administratoren Benutzerkonten auf Hunderten von Linux-Servern?

37

Wie können wir im Umgang mit Hunderten von RHEL-Servern lokale Stammkonten und Netzwerkbenutzerkonten verwalten? Gibt es eine Active Directory-Lösung, die diese von einem zentralen Standort aus verwaltet?

Ronaldo Nascimento
quelle

Antworten:

36

Eine zentrale Komponente von Active Directory ist LDAP, das unter Linux in Form von OpenLDAP und 389DS (und einigen anderen) verfügbar ist . Die andere Hauptkomponente von Kerberos ist MIT Kerberos und Heimdal . Schließlich können Sie Ihre Computer sogar mit AD verbinden.

Sven
quelle
2
Der Vollständigkeit halber sollte auch der Agent auf der Clientseite, SSSD , erwähnt werden.
Füro
Was ist mit dem Root-Account?
Daniel Serodio
1
@DanielSerodio: Dies hängt von der Organisation ab und davon, wie sie mit dem Root-Zugriff umgehen. Für Hunderte von Servern würde ich wahrscheinlich sowieso so etwas wie Puppet verwenden und dies entweder, um das Passwort als solches oder sudoersRegeln (oder beides) zu verwalten.
Sven
26

Sie können es mit puppet versuchen, um Benutzer zu verwalten:

Warum sollten Sie Puppet zum Verwalten von Benutzerkonten verwenden? (und nicht NIS, LDAP usw.)

Einer der Vorteile der Verwaltung von Benutzerkonten in Puppet ist die Tatsache, dass es dezentralisiert ist. Jedes Benutzerkonto ist nur ein normales Benutzerkonto auf dem verwalteten Server. Die von Puppet erstellten Benutzerkonten haben nichts Besonderes als die Tatsache, dass sie von Puppet und nicht von einem menschlichen Administrator erstellt wurden. Das Schöne daran ist, dass wir die Authentifizierung nicht verlieren, wenn der Haupthost stirbt. Dies bedeutet, dass unser Puppetmaster-Server (oder NIS / LDAP-Server) keine besonderen Verfügbarkeitsanforderungen haben muss. Im Notfall können wir uns darauf konzentrieren, unsere Produktionsserver hochzufahren und den Puppenmeister nach Bedarf hochzufahren. Der Nachteil dabei ist, dass Puppet nicht unbedingt für die Verwaltung „normaler“ Login-Benutzerkonten (im Gegensatz zu Systemkonten) ausgelegt ist. Der größte Weg, wie dies kommt, ist, dass Obwohl Sie das Passwort in Puppet festlegen können, überwacht Puppet kontinuierlich die Systemeinstellungen (gut) und setzt es zurück, wenn es feststellt, dass sich das Passwort geändert hat. (schlecht) Ich möchte keine Benutzerkennwörter in unserem Netzwerk überwachen, daher muss es eine Möglichkeit geben, ein Kennwort festzulegen, und Puppet muss die Überwachung dieses Kennworts beenden. Glücklicherweise ist dies ziemlich einfach, sobald Sie den Trick herausgefunden haben. Aber lassen Sie uns zunächst einige Definitionen aus dem Weg räumen.

http://docs.puppetlabs.com/pe/2.5/console_auth.html

Suku
quelle
Dies ist eine gültige Lösung in Kombination mit LDAP, IME.
Tom O'Connor
@ TomO'Connor Meiner Meinung nach ist es perfekt für die Pflege lokaler Konten geeignet.
gertvdijk
Dies ist eine sehr schlechte Idee, die keine seriöse Benutzerverwaltung ermöglicht, da weder die Möglichkeit zum schnellen Ändern des gewährten Zugriffs noch die zeitgesteuerte Zugriffsverwaltung besteht. Auf keinen Fall geeignet, um Tausende von Accounts zu verwalten, wie zum Beispiel an einer Universität.
18.
4

Wie SvenW erwähnt, gibt es 389DS und Kerberos. Seit RHEL 6.2 hat Red Hat IPA in die Distribution aufgenommen (und damit auch in CentOS). Hierbei handelt es sich um eine vollständige Identitätsverwaltungssuite, die 389DS und Kerberos mit richtlinienbasierter Steuerung der Authentifizierung und Autorisierung sowie optional DNS enthält. Es kann sogar für die einseitige oder beidseitige Synchronisierung mit Active Directory konfiguriert werden.

IPA erfordert ziemlich viel SSSD auf RHEL-Hosts, aber es funktioniert ohne es. Ich habe sogar getestet, ob ich Solaris 10 mit IPA verbinde (funktioniert, ist aber etwas umständlich). IPA ist für RHEL-Hosts recht einfach einzurichten.

Dies basiert auf dem FreeIPA- Projekt.

James O'Gorman
quelle
Für RHEL- und andere Linux-Server in einer hauptsächlich Linux-Umgebung ist dies ohne Weiteres die beste Wahl.
Michael Hampton
1

Für Ihre Netzwerkbenutzerkonten wird OpenLDAP wie SvW erwähnt.

Sie sollten auch unter "Konfigurationsmanagementsysteme" nachsehen, um Ihre lokalen Konten und alles andere auf Ihren Servern zu verwalten. Schauen Sie sich CFEngine, Bcfg2, Puppet und Chef an. Wenn Sie AWS verwenden, haben sie eine Chef-Sache mit OpsWorks.

Wenn Sie wirklich mehr als 100 Server verwalten müssen, verfügen Sie entweder über 10 Sysadmins oder verwenden die Configuration Management-Software.

Matías
quelle
1

Dies mag eine naheliegende Antwort sein, aber "Active Directory verwenden". Sie müssen unser AD-Schema ein wenig ändern, um unixspezifische Felder einzuschließen, aber sobald Sie dies tun, haben Sie ein einziges Verzeichnis aller Ihrer Benutzerkonten, das plattformübergreifend funktioniert.

Vielleicht weniger nützlich, wenn Sie nur unter Unix arbeiten - aber viele davon habe ich noch nicht gesehen. Aber AD ist eigentlich eine ziemlich gute Verzahnung der Schlüsselelemente von LDAP und Kerberos. Eigentlich finde ich das etwas ironisch.

Sie erhalten jedoch "kostenlos" plattformübergreifende Konten und die Kerberos-Integration, sodass Sie NFSv4-Exporte mit "CIFS-erkannten" ACLs und krb5i / p-NFS-Bereitstellungen mit starker (er) Benutzerauthentifizierung durchführen können.

Sobrique
quelle