Verwalten des Zugriffs auf mehrere Linux-Systeme

15

A hat nach Antworten gesucht, aber hier nichts gefunden ...

Kurz gesagt: Eine gemeinnützige Organisation muss dringend ihre Infrastruktur modernisieren. Als Erstes müssen Alternativen zur Verwaltung von Benutzerkonten auf einer Reihe von Linux-Hosts gefunden werden.

Wir haben 12 Server (physisch und virtuell) und ungefähr 50 Workstations. Wir haben 500 potenzielle Benutzer für diese Systeme. Die Person, die die Systeme im Laufe der Jahre gebaut und gewartet hat, ist in den Ruhestand getreten. Er schrieb seine eigenen Skripte, um alles zu verwalten. Es funktioniert noch. Keine Beanstandungen dort. Viele Dinge sind jedoch sehr manuell und fehleranfällig. Code ist chaotisch und muss nach Updates oft angepasst werden. Das Schlimmste ist, dass kaum oder gar keine Dokumente geschrieben wurden. Es gibt nur ein paar ReadMes und zufällige Notizen, die möglicherweise nicht mehr relevant sind. Daher ist die Wartung zu einer schwierigen Aufgabe geworden.

Derzeit werden Konten auf jedem System über / etc / passwd verwaltet. Aktualisierungen werden über Cron-Skripte an korrekte Systeme verteilt, wenn Konten auf dem "Hauptserver" hinzugefügt werden. Einige Benutzer müssen auf alle Systeme zugreifen können (z. B. auf ein Sysadmin-Konto), andere müssen auf gemeinsam genutzte Server zugreifen können, während andere möglicherweise auf Arbeitsstationen zugreifen müssen oder nur auf eine Teilmenge dieser.

Gibt es ein Tool, mit dem wir Konten verwalten können, die die folgenden Anforderungen erfüllen?

  • Vorzugsweise Open Source (dh kostenlos, da das Budget SEHR begrenzt ist)
  • Mainstream (dh gepflegt)
  • Hat vorzugsweise eine LDAP-Integration oder könnte zur Benutzerauthentifizierung mit einem LDAP- oder AD-Dienst verbunden werden (wird in naher Zukunft benötigt, um Konten mit anderen Büros zu integrieren)
  • Benutzerverwaltung (Hinzufügen, Ablaufen, Entfernen, Sperren usw.)
  • Ermöglicht die Verwaltung der Systeme (oder Systemgruppen), auf die jeder Benutzer Zugriff hat. Nicht alle Benutzer sind auf allen Systemen zulässig
  • Unterstützung für Benutzerkonten, für die je nach dem System, bei dem sie angemeldet sind, unterschiedliche Ausgangsverzeichnisse und Bereitstellungen verfügbar sein können . Beispielsweise
    • sysadmin, der auf dem "main" -Server angemeldet ist, hat main: // home / sysadmin / als homedir und alle freigegebenen Mounts
    • Auf den Workstations der Mitarbeiter angemeldeter Sysadmin hätte nas: // user / s / sysadmin als Homedir (anders als oben) und möglicherweise eingeschränkte Anzahl von Mounts.
    • Ein angemeldeter Client hat sein Heimatverzeichnis an einem anderen Ort und keine gemeinsamen Reittiere.
  • Wenn es eine einfache Verwaltungsoberfläche gibt, wäre das fantastisch.
  • Und wenn dieses Tool plattformübergreifend ist (Linux / MacOS / * nix), ist das ein Wunder!

Ich habe im Internet gesucht und nichts passendes gefunden. Wir sind offen für Vorschläge. Vielen Dank.

BEARBEITEN: Diese Frage wurde fälschlicherweise als Duplikat markiert. Die Option "Verknüpfte Antwort" spricht nur davon, auf allen Systemen dieselben Homedirs zu haben, wohingegen wir unterschiedliche Homedirs benötigen, die davon abhängen, bei welchem ​​Systembenutzer sich gerade angemeldet hat (MEHRERE Homedirs). Außerdem muss der Zugriff nur für einige Maschinen gewährt werden, nicht für das gesamte Los. Mods, bitte verstehe das volle Ausmaß des Problems, anstatt es nur als Duplikat für Punkte zu markieren ...

Swartz
quelle
'Punkte' werden nicht für die Kennzeichnung von Duplikaten vergeben. Ihre Frage war nicht klar genug, dass 5 Personen sie als doppelt betrachteten.
user9517 supportedGoFundMonica
Ich wusste es nicht. OK danke. Es wurde jedoch ein Duplikat in Eile markiert. Bitte lesen Sie die Punkt-Formular-Anforderungen, die klar angeben, was benötigt wird. Dies ist kein Duplikat. Der bereitgestellte Link zu "Lösung" ermöglicht den wahllosen Zugriff auf alle Systeme (wir müssen einschränken, wer Zugriff auf welches System oder auf welche Systemgruppen hat). Der tatsächliche Standort des Heimatverzeichnisses hängt davon ab, auf welches System zugegriffen wird. Derselbe Benutzer kann je nach dem System, bei dem er angemeldet ist, unterschiedliche Ausgangsverzeichnisse und Bereitstellungen haben.
Swartz
Nur zur Verdeutlichung: In dem oben erwähnten Sysadmin-Beispiel sind main und nas unterschiedliche Server? Derselbe Benutzer hat also Zugriff auf verschiedene Homedirs, je nachdem, bei welchem ​​Homedir er sich anmeldet.
Marco Bizzarri
@MarcoBizzarri: Ich bin mir nicht sicher, ob ich das verstehe. Das System, bei dem der Benutzer angemeldet ist, bestimmt das Homedir. SysA und SysB haben möglicherweise beide / home / bob in / etc / passwd, während homdir für Bob auf SysC möglicherweise / someplace / else / bob ist. Die beiden Speicherorte enthalten unterschiedliche Daten. Der Systembenutzer, bei dem er angemeldet ist, bestimmt, welche anderen Halterungen verfügbar sind. Dies würde es nur Personalsystemen ermöglichen, auf gemeinsam genutzte Mitarbeiterstände zuzugreifen. Wobei als "öffentlich" verfügbare Systeme auf andere Halterungen beschränkt werden. Daher muss sich ein Mitarbeiter auf einem vom Mitarbeiter festgelegten PC befinden, um auf die Mitarbeiterstände zugreifen zu können. Ein bisschen Abschottung ...
Swartz
Ok, hier gibt es zwei verschiedene Punkte: Das Homedir ist fest und kann sich irgendwo befinden (entweder auf demselben oder einem anderen Server), aber das ist es immer. Ich meine, SysA hat immer sein Homedir auf ServerX, egal was passiert. Danach gibt es ein gemeinsames Verzeichnis unter den Mitarbeitern. Nennen wir es staff_dir. Dieses sollte verfügbar sein, wenn sich Mitarbeiter bei staff_workstation anmelden, nicht jedoch, wenn Sie sich bei normal_workstation anmelden. Ist das korrekt?
Marco Bizzarri

Antworten:

17

FreeIPA ist wahrscheinlich das, wonach Sie suchen. Für Linux ist Active Directory für Windows gleichbedeutend. (Es kann auch mit AD kommunizieren, wenn Sie eine heterogene Umgebung haben, es sollte jedoch nicht zum direkten Verwalten von Windows-Computern verwendet werden. Verwenden Sie dazu AD.)

Die Dokumentation von Red Hat (sie wird als Identity Management bezeichnet) ist sehr gründlich und leicht zu befolgen und sollte vor allem dann anwendbar sein, wenn Sie keine von Red Hat abgeleiteten Systeme verwenden.

Michael Hampton
quelle
+1 freeipa ist großartig.
Sirex
Ich werde mich um FreeIPA kümmern. Danke für den Tipp. Frage: Unterstützt FreeIPA unterschiedliche Homedirs auf unterschiedlichen Systemen? Beispiel: Benutzer Bob hat ein (NFS-exportiertes) Homedir unter / shared / home / xyz, wenn er in SystemA und im SystemC angemeldet ist, aber unter SystemC / whatever / special ist Bobs Homedir.
Swartz
Haben Sie sich Automounts angesehen ? Dies sollte Ihnen ungefähr 90% des Weges dorthin ermöglichen, wobei die restlichen 10% geringfügige Änderungen an Ihrer vorhandenen Umgebung sind.
Michael Hampton
Ja, die vorhandenen Systeme verwenden die automatische Montage. Diese werden für jeden Systemtyp manuell konfiguriert. Leider ist unsere bestehende Umgebung zu umständlich, um sie zu warten. Besonders nach Updates oder beim Erstellen neuer Systemimages. Obwohl sein Kern funktioniert, gibt es immer etwas, das optimiert werden muss, damit es funktioniert.
Swartz
Na dann. Jetzt haben Sie eine gute Gelegenheit, mit dem Aufräumen zu beginnen.
Michael Hampton
6

Ich würde einen guten Berater vor Ort vorschlagen , um die Einzelheiten Ihrer Situation zu beurteilen ...

Ja wirklich.

Möglicherweise gibt es andere Geschäftsanforderungen oder -nuancen, die die Leute in diesem Forum möglicherweise nicht erkennen oder nicht genügend investieren, um sie zu berücksichtigen. Eine dedizierte Ressource ist die beste Wahl ... Andernfalls werfen wir Ihnen lediglich Produktempfehlungen für etwas vor, das für eine einfache Frage und Antwort leicht außer Reichweite ist.


Trotzdem würde mein Ansatz darin bestehen, Microsoft Active Directory zu nutzen und die Linux-Systeme an die Verwendung von SSSD oder LDAP zu binden . FreeIPA ist in einem reinen Linux-Haus in Ordnung, aber obwohl Sie "Non-Profit" sagen, schließt das Windows nicht unbedingt aus. Sie werden irgendwo auf dem Weg auf Active Directory stoßen . Möglicherweise möchten Sie dies mit automatisch bereitgestellten Basisverzeichnissen erweitern, aber die Einzelheiten darüber, wer wann und wo bereitgestellt wird, sind nicht klar.

Selbst in den 99% Linux Private Cloud-Umgebungen, die ich jetzt erstelle, verlasse ich mich immer noch auf Active Directory, um die Verwaltung und die zentralisierte Authentifizierung zu vereinfachen. Gruppen- und Zugriffsberechtigungen sind einfach, Kennwortrichtlinien und das Altern von Konten sind unkompliziert. Alle Bedenken hinsichtlich Wartbarkeit, Mindshare und Kompatibilität werden von der Microsoft-Lösung abgedeckt. Die Replikation ist integriert, gut dokumentiert und zukunftssicher.

In Ihrer ursprünglichen Frage fehlen jedoch einige Details ...

  • Welche speziellen Linux-Distributionen gibt es in der Umgebung? Sind die Versionen konsistent?
  • Benötigen Sie für Ihre Macintosh-Systeme den gleichen Grad an Verwaltungsgranularität (die meisten Unternehmen versuchen nicht, Apple-Computer vollständig zu verwalten)?
  • Gibt es Remote-Benutzer?
  • Sie erwähnen "* nix" - Welche Art von * nixen gibt es?
ewwhite
quelle
2
es ist im großen und ganzen nichts wert, dass freeipa all diese dinge für linux-maschinen (replikation, kennwortrichtlinie, gruppen usw.) erledigen kann und sehr einfach einzurichten ist (wirklich!). Es führt auch eine bidirektionale Replikation gegen Active Directory durch (ziemlich sicher, dass neue Benutzer aufgrund von AD mit zusätzlichen Feldern unidirektional sind), aber wenn Sie Windows-Computer haben, möchten Sie AD, unabhängig davon, wie zentral die Windows-Art ist Leben. Auch die Dokumentation in Freeipa ist noch imho ein wenig mangelhaft.
Sirex
Leider gibt es kein Budget für einen Berater. Es gibt keine Windows-Computer (nur wenn die Mitarbeiter ihre eigenen mitbringen). Alle Systeme sind CentOS (einige 5.x, andere 6.x). Die Organisation ist dabei, einige ältere (2007-ish) iMacs zu bekommen, daher wäre es schön, ein Tool zu haben, das unter OSX und Linux funktioniert. Eine schöne Sache: Sie brauchen sich keine Sorgen um Windows zu machen.
Swartz
Stimmen Sie dem Vorschlag von Active Directory zu - wenn Lizenzkosten ein Problem darstellen, ist Samba4 eine kostenlose Alternative und verwendet die gleichen Verwaltungstools / Infrastrukturen wie ein natives Windows-Host-AD. Fast alles andere kann für die Authentifizierung gegen AD über PAM, WinBind, LDAP usw. konfiguriert werden. Informationen zur Konfigurationsverwaltung für die gesamte Infrastruktur finden Sie unter Salt ( saltstack.com/community.html blog.smartbear.com/devops/… ).
nedm
3

Derzeitiges System funktioniert, ist aber schwierig zu verwalten. Ich vermute, es gibt auch andere Probleme bei der Verwaltung dieser Server, wenn alles manuell gemacht wurde. Ich würde einen anderen Ansatz wählen, indem ich nicht das ersetzen würde, was funktioniert (Benutzerverwaltung) und das Administrationsproblem der Server lösen würde.

Ich empfehle, etwas wie cfengine http://cfengine.com/community (kostenlose Version ) zu verwenden, um Ihre Systemadministration zu "modernisieren", nicht nur die Benutzerverwaltung. Es ist eine gute Gelegenheit, es zu versuchen, da Ihr aktuelles System mit cfengine vergleichbar ist, um die Konfiguration auf die Server zu verteilen, in Ihrem Fall die Datei / etc / passwd. Anstatt also zu ersetzen, migrieren Sie diese Skripte nach cfengine. Hoffentlich sind die Auswirkungen sehr gering, da Sie immer noch dieselbe Datei / etc / passwd verwenden.

Sobald Sie mit der cfengine vertraut sind, können Sie weitere Rezepte erstellen, um weitere Probleme zu lösen, z. B. ein völlig neues Benutzerverwaltungssystem, und Sie haben das Tool zum Verwalten der Konfiguration auf den Servern.

Um Ihnen den Einstieg zu erleichtern, habe ich diesen Link http://explosive.net/opensource/cfpasswd/doc/cfengine.html gefunden , der zeigt, wie / etc / passwd und verwandte Dateien verteilt werden.

Auch wenn Sie das Benutzerverwaltungssystem jetzt ersetzen möchten, benötigen Sie ein Verwaltungstool, um diese Server zu verwalten. Es ist besser, das Verwaltungstool früher als später zu haben und die Benutzerverwaltung unter einem Verwaltungstool neu zu konfigurieren.

imel96
quelle
0

Nur ein paar schnelle Dinge zum Hinzufügen -

Ich habe Puppet in meiner Bereitstellung verwendet - eine ähnliche Idee wie cfengine - http://puppetlabs.com

Dies kann auch Ihre Benutzerverwaltung und die allgemeine Konfiguration / Serververwaltung betreffen.

Wenn Sie etwas so Vielseitiges wie Samba ausprobieren möchten, besteht die Möglichkeit, die Verzeichnisse mit einer bestimmten Konfiguration zu verwalten und ein LDAP-Backend für die Konfiguration zu verwenden. Samba 4 ist sehr ausgereift und könnte tatsächlich eine integrierte Umgebung mit Windows und Linux für die Verwaltung / Authentifizierung bereitstellen.

Samba arbeitet mit AD oder als Ersatz für AD.

Es gibt auch ein Produkt namens Centrify, das ich mir vor einiger Zeit angesehen habe. Ich bin nie zu weit gekommen, aber ich glaube, sie haben auch eine Freeware / Open Source-Version davon. Wenn ich mich recht entsinne, bestand das Potenzial für eine gemischte Umgebung mit Windows- und Linux-Management und möglicherweise Mac.

Ich würde den Vorschlag eines Beraters unterstützen. Es kann sehr kompliziert werden, diese Bereitstellungen sehr schnell einzurichten, sie sind jedoch einfach zu warten, sobald sie dokumentiert und konfiguriert sind.

Viel Glück

JTWOOD
quelle
1
Ich habe mir Puppet und Chef für das Konfigurationsmanagement schon früh angesehen. Puppet erlaubt 10 freie Knoten, mit Chef bekommst du 5 frei. Danach berechnet Puppet Labs 99 USD / Knoten / Jahr. Es wären ein paar tausend für uns. Deal Breaker. Ich erinnere mich zwar nicht an den Preis des Chefs, aber es ist die gleiche Idee. Nicht im Budget. :(
Swartz