Zum Inhalt springen

Verzeichnisdienste unter Linux?


Godfather_d

Empfohlene Beiträge

Hallo Leute,

meine Aufgabe ist es eine Präsentation über die verschiedenen Verzeichnisdienste, die unter Linux laufen zu halten.

Ich habe mir folgende Verzeichnisdienste herausgesucht:

  • OpenLDAP
  • Fedora Directory (389 Directory Server)
  • CentOS Directory Server
  • Sun Directory Server

Nun würde ich gern ein Vergleich zwischen den Verzeichnisdiensten aufstellen, also quasi Vor und Nachteile nennen. Leider habe ich mit keinem von oben aufgelisteten Verzeichnisdiensten gearbeitet (außer mit Active Directory). Und deswegen dachte ich mir, dass ihr mir vielleicht ein paar Hauptgründe nennen könntet (Vor und Nachteile), damit ich mich für einen entscheiden kann.

Danke im Voraus!

P.S.

Gibt es überhaupt ein Unterschied zwischen 389 Directory Server und CentOS Directory Server, außer das 389 Directory Server auf fast allen aktuellen Linux-Distributionen läuft?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die 4 Dienste, die Du nennst basieren ebenso wie das AD letztendlich auf LDAP. Damit hast Du für alle den gleichen Verzeichnisdienst.

Meines Erachtens solltest Du z.B. LDAP (und davon evtl eben auch die einzelnen, ich nenne sie mal Derivate, wie OpenLDAP, AD, ??? Directory Service) und NIS vergleichen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich schmeiß mal das gute (alte...) eDirectory in den Ring.

Das ist eigentlich auch schon recht für für Linux passend (nachdem Novell und Suse ihr Süppchen kochen).

Bin mir nicht sicher ob es auf LDAP basiert. Ich weiß aber das LDAP ein Biedeglied zwischen eDir und AD darstellen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die 4 Dienste, die Du nennst basieren ebenso wie das AD letztendlich auf LDAP. Damit hast Du für alle den gleichen Verzeichnisdienst.

Meines Erachtens solltest Du z.B. LDAP (und davon evtl eben auch die einzelnen, ich nenne sie mal Derivate, wie OpenLDAP, AD, ??? Directory Service) und NIS vergleichen.

AD läuft ja nur unter Windows. Ich soll nur Verzeichnisdienste herausfinden, die unter Linux-Distributionen laufen.

LDAP ist ja nur das Protokoll, das die ganzen Befehle versteht und dann auch hinzufügt, löscht oder verändert.

Die ganzen Verzeichnisdienste sind doch nur visuelle Oberflächen die dem Admin eine bessere Übersicht bieten.

NIS ist auch nur ein Protokoll.

Ist das erstmal so richtig?

Ich soll anhand der Präsentation die verschiedenen Verzeichnisdienste, die auf LDAP basieren bzw. LDAP verstehen heraussuchen. Aufgrund des vergleiches soll ich das "beste" Verzeichnisdienst nehmen und mit dem dann ein LDAP-Server aufziehen.

Ich schmeiß mal das gute (alte...) eDirectory in den Ring.

Das ist eigentlich auch schon recht für für Linux passend (nachdem Novell und Suse ihr Süppchen kochen).

Bin mir nicht sicher ob es auf LDAP basiert. Ich weiß aber das LDAP ein Biedeglied zwischen eDir und AD darstellen kann.

Danke für deine Antwort! Wollte ursprunglich auch eDir nehmen. Mein Problem ist nur wie vergleich ich die ganzen Verzeichnisdienste mit einander?

Bearbeitet von Godfather_d
Link zu diesem Kommentar
Auf anderen Seiten teilen

Also sollst du jetzt verschiedene LDAP-Systeme vergleich oder verschiedene Verzeichnisdienste ? Das sind nämlich zwei unterschiedliche Dinge.

Wenn du Verzeichnisdienste vergleichen sollst müsstest du folgende berücksichtigen:

- Active Directory (ja, man kann da auch Linux anbinden)

- LDAP

- Kerberos

- NIS/NIS+

Link zu diesem Kommentar
Auf anderen Seiten teilen

AD läuft ja nur unter Windows. Ich soll nur Verzeichnisdienste herausfinden, die unter Linux-Distributionen laufen.

Ich hatte das als generelle Frage verstanden, mein Fehler

LDAP ist ja nur das Protokoll, das die ganzen Befehle versteht und dann auch hinzufügt, löscht oder verändert.

NIS ist auch nur ein Protokoll.

Sicher es sind "erst einmal" Protokolle. Am Beispiel LDAP wäre das hier konkret eben das Protokoll, das auf den Layer 3 aufsetzt. Die Datenbank kann hier natürlich eine beliebige sein, typisch ist Berkley, aber ich habe auch schon Postgresql bzw mySQL gesehen. Wenn ich das LDAP Protokoll z.B. zum Suchen einer Mailadresse verwende, habe ich ja nichts mit der eigentlichen Datenhaltung zu tun. Ich frage über LDAP nach der Mailadresse, das LDAP Backend wandelt dann diese Anfrage so um, dass sie von der installierten Datenbank verarbeitet werden kann.

Die ganzen Verzeichnisdienste sind doch nur visuelle Oberflächen die dem Admin eine bessere Übersicht bieten.

Nein, ein Verzeichnisdienst ist viel mehr. Bei uns im RZ werden z.B. auch Personalinformationen, neben den Logindaten und Gruppenzugehörigkeiten, bis hin zum Bild, eigenen Zertifikat etc abgespeichert. Ein Verzeichnisdienst hat erst mal keine Oberfläche, er ist dafür gedacht, Daten strukturiert abzulegen und zu suchen.

Ich soll anhand der Präsentation die verschiedenen Verzeichnisdienste, die auf LDAP basieren bzw. LDAP verstehen heraussuchen. Aufgrund des vergleiches soll ich das "beste" Verzeichnisdienst nehmen und mit dem dann ein LDAP-Server aufziehen. [...] Problem ist nur wie vergleich ich die ganzen Verzeichnisdienste mit einander?

Basis wäre einmal Verzeichnisdienst ? Wikipedia

Aber es gibt keinen "guten" oder "schlechten" Verzeichnisdienst. Wenn ich reine Unixumgebung habe, dann kann ich ohne weiteres NIS einsetzen. Bei einer heterogenen mit MS Systemen wird NIS Probleme mit sich bringen.

Es kommt auf die gewünschten Funktionen und Informationen an. Am Beispiel LDAP z.B. kann man einerseits schön sehen, warum man sehr schnell Daten finden und replizieren kann, man dagegen aber mit einem relationalen Backend durchaus Probleme haben kann. Letztendlich geht es um relationale vs hierarchische Datenbanken.

Du kannst aber nur sinnvoll Vergleichen, wenn Du Vergleichskriterien hast, die Du eben anhand des geforderten definieren musst

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also sollst du jetzt verschiedene LDAP-Systeme vergleich oder verschiedene Verzeichnisdienste ? Das sind nämlich zwei unterschiedliche Dinge.

Wenn du Verzeichnisdienste vergleichen sollst müsstest du folgende berücksichtigen:

- Active Directory (ja, man kann da auch Linux anbinden)

- LDAP

- Kerberos

- NIS/NIS+

Laut Wiki:

Bekannte Verzeichnisdienste

Bekannte Verzeichnisdienste, heute praktisch alle auf dem LDAP-Standard basierend, sind:

* Active Directory in Windows-2000-, Windows-2003- oder Windows-2008-Netzwerken

* eDirectory, ehemals NDS in Novell-Netzwerken

* Fedora Directory Server, unterstützt von Red Hat

* OpenLDAP (Open Source Software für diverse Betriebssysteme)

* Siemens-Verzeichnis Dir.X

* Network Information Service (NIS) in Unix-Netzwerken (nicht LDAP-basiert)

* Sun Directory Server, ehemals Sun ONE LDAP Server

* Critical Path Directory Server

* Apache Directory, Directory Server der Apache Software Foundation (LDAP-zertifiziert, Open Source Software)

Ich möchte laut deinem Post ein Vergleich von LDAP-Systemen machen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

und nach welchen Kriterien? Wir wissen jetzt was Du machen willst, aber nicht wie

Das müsste ich noch klären.

Was ich aber 100% sagen kann, es soll eine Verwaltung werden, wie man es von AD kennt. Es sollen ungefähr 40 Linux Benutzer verwalten werden können, also sprich Benutzerauthentifizierung, Rechtevergabe (auf bestimmte Verzeichnisse, Kontingente, max. Speicherplatz zuweisung auf bestimmte Netzlaufwerke), Benutzerinformationen Verwaltung (Raum, Vor- und Nachname, Abteilung).

Bearbeitet von Godfather_d
Link zu diesem Kommentar
Auf anderen Seiten teilen

Was ich aber 100% sagen kann, es soll eine Verwaltung werden, wie man es von AD kennt. Es sollen ungefähr 40 Linux Benutzer verwalten werden können, also sprich Benutzerauthentifizierung, Rechtevergabe (auf bestimmte Verzeichnisse, Kontingente, max. Speicherplatz zuweisung auf bestimmte Netzlaufwerke), Benutzerinformationen Verwaltung (Raum, Vor- und Nachname, Abteilung).

Rechtevergabe kannst Du so nicht direkt im LDAP ablegen, hierzu brauchst Du auf dem entsprechenden Rechner ACLs und eben die Möglichkeit, dass der Rechner die Daten (UID & GID) aus dem LDAP erhält. Schau Dir ggf die einzelnen Schemata an, da solltest Du alles genannte ohne Probleme unterbringen können

Link zu diesem Kommentar
Auf anderen Seiten teilen

Rechtevergabe kannst Du so nicht direkt im LDAP ablegen, hierzu brauchst Du auf dem entsprechenden Rechner ACLs und eben die Möglichkeit, dass der Rechner die Daten (UID & GID) aus dem LDAP erhält. Schau Dir ggf die einzelnen Schemata an, da solltest Du alles genannte ohne Probleme unterbringen können

So fangen wir mal ganz weit von vorne an. :D

Für was dient dann das LDAP-System? Ist es nur eine Datenbank?

Gibt es für die ACL wiederum extra Programme?

Für welches LDAP-System soll ich mich dann entscheiden um am besten die Planung oben zu realisieren zu können?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Für was dient dann das LDAP-System? Ist es nur eine Datenbank?

Im Grunde ja, LDAP ist erst einmal nur eine Datenbank, in der Du Informationen ablegst. Z.B. kann man damit "nur" ein firmenweites Telefonbuch realisieren.

Gibt es für die ACL wiederum extra Programme?

Du weißt was ACLs sind? Rechtevergabe für Dateien / Verzeichnisse macht das OS. Das OS - unter Unix - arbeitet mit UIDs bzw GIDs. So lange Dein OS von Deinem LDAP und den darin enthaltenen Daten nichts weiß, kannst Du auch mit den Informationen im LDAP bezügl Berechtigungen nichts anfangen.

Für welches LDAP-System soll ich mich dann entscheiden um am besten die Planung oben zu realisieren zu können?

Welche Planung? Bitte fange erst einmal an, irgendwelche Kriterien zu nennen, über die man vergleichen kann. Eine Benutzauthentifizierung kannst Du mit allen Systemen durchführen

Aktuell habe ich hier mehrere Server / Workstations (Linux / Windows) laufen, meine User liegen in einem OpenLDAP. An den Workstations kann sich jeder User anmelden, d.h. die Linuxe validieren via PAM gegen den LDAP Baum, die Windows Clients gegen einen Samba-Server der ebenfalls die Informationen aus dem LDAP erhält. Auf den Server kann sich ein User nicht anmelden, aber ich brauche die GID und UID um eben die Berechtigungen auf den Dateien korrekt zu sehen und umsetzen zu können, das wird ebenfalls per PAM realisiert

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ flashpixx: OK erstmal verstanden. Anhand der UIDs bzw GIDs kann dann LDAP die Berechtigung für den User managen.

Die Kriterien:

Das Problem: Gewachsene Strukturen

Anwendungen müssen heute oft nicht nur auf Ressourcen im eigenen Local Area Network (LAN) oder im Intranet einer Institution zugreifen, sondern auch auf Ressourcen irgendwo im weiteren Universitätsnetzwerk, bei Projektpartnern oder im Internet.

Das wilde Wachstum der letzten Jahre hat dazu geführt, dass es in den meisten Netzen verschiedene, spezialisierte Verzeichnisse mit teilweise redundanten Informationen gibt, die oft nur schwer gemeinsam genutzt werden können. Irgendwann ist ein Irrgarten aus Import- und Exportskripten entstanden, der praktisch nicht mehr wartbar ist.

Gleichzeitig wächst der Wunsch nach zentraler Datenhaltung für neue Applikationen, die man andererseits vor nicht autorisiertem Zugriff schützen will.

Die Lösung: Verzeichnisdienste

Quelle

Diese Seite beschreibt das Problem das ich lösen möchte mit eine Verzeichnisdienst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ flashpixx: OK erstmal verstanden. Anhand der UIDs bzw GIDs kann dann LDAP die Berechtigung für den User managen.

Nein der LDAP managed gar nichts. Er ist lediglich eine Datenbank mit Informationen. Das OS holt die Daten aus dem LDAP und setzt diese dann lokal um. Unter Unix wird dafür PAM (Pluggable Authentication Modules ? Wikipedia) verwendet. In Verbindung mit Kerberos (Kerberos (Informatik) ? Wikipedia) lässt sich das auch noch erweitern und mit Samba (Samba-TNG ? Wikipedia) auch für Windows als PDC und Dateiserver einsetzen.

Diese Seite beschreibt das Problem das ich lösen möchte mit eine Verzeichnisdienst.

Das ist eine allgemeine Quelle für LDAP. Mehr als das Du eine gewachsene Struktur hast und diese nun zentralisiert ablegen möchtest, gibst Du nicht.

Mehr als Dir sagen "setze einen LDAP" Server auf, wird dabei nicht herauskommen, davon wird aber noch lange nicht Dein Netzwerk funktionieren, denn LDAP ist nicht die Allerweltslösung. Und nur weil Du irgendwo im Netz einen LDAP Server installierst, die Informationen dort importierst, werden Deine Clients davon noch lange nichts wissen. Um einen zentralen Service nutzen zu können, musst Du diesen auch auf den Clients einrichten

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 5 Wochen später...

Wo sage ich OpenLDAP, dass er bei Verbindungsversuch durch seitens des Clients überprüft, ob der Public Key stimmt?

OpenLDAP überprüft nichts, das macht das System an dem Du Dich anmeldest. LDAP ist "nur" die Datenbank.

Außerdem wie willst Du Dich mit einem PublicKey anmelden, wenn Du lokal vor der Maschine sitzt, Du hast vor dem Anmeldeprozess keine Laufwerke o.ä. auf die Du zugreifen kannst.

Mach es Dir doch erst einmal einfach: Konfiguriere _ein_ Linux so, dass er sowohl die lokalen (passwd & shadow) Daten auswertet und die Daten aus dem LDAP. Denn Du musst auch dafür Sorge tragen, dass jeder User immer sein Homeverzeichnis bekommt, weil kein User will gerne auf jedem Rechner ein eigenes Home haben. Wenn Du das hast, dann würde ich mir mal SSH anschauen und wie man dort via Keys authentifiziert

Link zu diesem Kommentar
Auf anderen Seiten teilen

OpenLDAP überprüft nichts, das macht das System an dem Du Dich anmeldest. LDAP ist "nur" die Datenbank.

Naja ich dachte, dass das System auf die LDAP Datenbank zugreift und überprüft, ob es der Public Key ist.

Bsp.: ssh-rsa = FHFKKIDK32342kdfi3 == FHFKKIDK32342kdfi3.

Außerdem wie willst Du Dich mit einem PublicKey anmelden, wenn Du lokal vor der Maschine sitzt, Du hast vor dem Anmeldeprozess keine Laufwerke o.ä. auf die Du zugreifen kannst.

Jeder Client hat seinen Public Key lokal auf seiner Festplatte.

Mach es Dir doch erst einmal einfach: Konfiguriere _ein_ Linux so, dass er sowohl die lokalen (passwd & shadow) Daten auswertet und die Daten aus dem LDAP. Denn Du musst auch dafür Sorge tragen, dass jeder User immer sein Homeverzeichnis bekommt, weil kein User will gerne auf jedem Rechner ein eigenes Home haben. Wenn Du das hast, dann würde ich mir mal SSH anschauen und wie man dort via Keys authentifiziert

Ich soll als Projekt erstmal die SSH-Verbindung aufbauen. Ansonsten wurde mir gesagt, dass es keinen Sinn macht, wenn ich alles super aufbaue ohne Verschlüsselung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja ich dachte, dass das System auf die LDAP Datenbank zugreift und überprüft, ob es der Public Key ist.

OpenSSH Public Key Authentication

Jeder Client hat seinen Public Key lokal auf seiner Festplatte.

Ja das stimmt schon, aber wenn Du 10.000 Linux Rechner hast, wie kommt dann der Key auf die Festplatte bei jedem Rechner. Da wird sicherlich nicht jeder per Hand die Dateien hin und her kopieren.

Ich soll als Projekt erstmal die SSH-Verbindung aufbauen. Ansonsten wurde mir gesagt, dass es keinen Sinn macht, wenn ich alles super aufbaue ohne Verschlüsselung.

SSH ist "nur" ein Protokoll, woher kennst das Linux System den Benutzer, das Homeverzeichnis, den Key, der im Homeverzeichnis liegt, die Gruppenzugehörigkeit.

Bitte fang einmal an Dich zu informieren! Du hast noch immense Lücken, im Verständnis von LDAP, SSH, und diverser Unixgrundlagen. Versuche erst einmal zu verstehen, wie der dateibasierte Loginmechanismus funktioniert, bevor Du anfängst mit LDAP zu hantieren. Ebenso überlege Dir, wie Du z.B. die Homeverzeichnisse synchron hälst, so dass Du bei 1000 Rechner und 10.000 User nicht jeden User lokal pflegen musst

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke!

Ja das stimmt schon, aber wenn Du 10.000 Linux Rechner hast, wie kommt dann der Key auf die Festplatte bei jedem Rechner. Da wird sicherlich nicht jeder per Hand die Dateien hin und her kopieren.

Bei der Menge wäre es natürlich sinnlos. In meinem Fall sind es max. 30 Linux-Recher.

SSH ist "nur" ein Protokoll, woher kennst das Linux System den Benutzer, das Homeverzeichnis, den Key, der im Homeverzeichnis liegt, die Gruppenzugehörigkeit.

Bitte fang einmal an Dich zu informieren! Du hast noch immense Lücken, im Verständnis von LDAP, SSH, und diverser Unixgrundlagen. Versuche erst einmal zu verstehen, wie der dateibasierte Loginmechanismus funktioniert, bevor Du anfängst mit LDAP zu hantieren. Ebenso überlege Dir, wie Du z.B. die Homeverzeichnisse synchron hälst, so dass Du bei 1000 Rechner und 10.000 User nicht jeden User lokal pflegen musst

Stimmt schon, deswegen Frage ich hier nach. Vielleicht kannst du mir Tipps geben wo ich das nachlesen könnte?

P.S.

Im mom. habe ich wie gesagt OpenLDAP am laufen. Die User + Passwort kann ich in die LDAP-Datenbank eintragen. Die Passwörter werden mit SHA-1 verschlüsselt. Das Homeverzeichnis wird in der Shell "/bin/bash/" angelegt.

Bsp.: LDAP-Server IP: 192.168.9.5

Client IP: 192.168.9.6

Wenn der Client sich mit dem Befehl: ssh client@192.168.9.5 verbindet, muss er die Zertifizierung überspringen und dann sein angelegtes Kennwort eingeben. Nach erfolgreichen einloggen landet der Client in /home/client/.

Im Moment ist es so, dass das Passwort zwar verschlüsselt ist, aber das Hash-Kennwort unverschlüsselt durchs Netzwerk übertragen wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Stimmt schon, deswegen Frage ich hier nach. Vielleicht kannst du mir Tipps geben wo ich das nachlesen könnte?

Wie wäre es mit Network File System ? Wikipedia

Das Homeverzeichnis wird in der Shell "/bin/bash/" angelegt.

Warum brichst Du mit allgm Konventionen. Userverzeichnis bis auf root liegen in /home oder /usr/home, d.h. wenn sich User xyz anmeldet, dann sollte er in /home/xyz landen und als Shell eben die eingestellte Shell die unter /bin zu finden, verwenden

Im Moment ist es so, dass das Passwort zwar verschlüsselt ist, aber das Hash-Kennwort unverschlüsselt durchs Netzwerk übertragen wird.

Dann solltest Du wohl anstatt LDAP LDAPS verwenden und z.B. via Zertifikate absichern

Link zu diesem Kommentar
Auf anderen Seiten teilen

Super, nun kann ich mich über Putty ohne Kennworteingabe verbinden. Diesen Effekt möchte ich auch bei der Authentifizierung mit LDAP hinbekommen. Klappt es dann mit Kerberos oder NFS?

Wie sieht es mit Kerberos aus?

Diese dritte Partei ist ein besonders geschützter Kerberos-5-Netzwerkdienst. Kerberos unterstützt Single Sign-on, das heißt, ein Benutzer muss sich nur noch einmal anmelden, dann kann er alle Netzwerkdienste nutzen, ohne ein weiteres Mal ein Passwort eingeben zu müssen. Kerberos übernimmt die weitere Authentifizierung.

" target="_blank">

Diese dritte Partei ist ein besonders geschützter Kerberos-5-Netzwerkdienst. Kerberos unterstützt Single Sign-on, das heißt, ein Benutzer muss sich nur noch einmal anmelden, dann kann er alle Netzwerkdienste nutzen, ohne ein weiteres Mal ein Passwort eingeben zu müssen. Kerberos übernimmt die weitere Authentifizierung.

Warum brichst Du mit allgm Konventionen. Userverzeichnis bis auf root liegen in /home oder /usr/home, d.h. wenn sich User xyz anmeldet, dann sollte er in /home/xyz landen und als Shell eben die eingestellte Shell die unter /bin zu finden, verwenden

Dies User laden nun im Homeverzeichnis.

Dann solltest Du wohl anstatt LDAP LDAPS verwenden und z.B. via Zertifikate absichern

Putty verbindet sich ja nun über SSH.

Oder soll ich das ganze jetzt nun mit SSL machen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...