Hallo Liste, ich möchte in meinem kleinen Netz ldap installieren. Ich hoffe ich habe das Prinzip von ldap verstanden. Ldap ist so eine Art spezialisierte Datenbank um (zb) Userauthentifizierung netzwerkweit zu managen ? Wenn das stimmt, kann ich ldap für squid,apache,samba, Netscape (oder allgemein Browser),Datenbanken (zb mysql, Sybase,postgres,oracle), Passwörter (Windoof,Linux,FreeBSD,OS2) verwenden ? Welche weiteren Möglichkeiten zur Einbeziehung von ldap gibt es ? Ich habe mich die letzten Tage im Internet schlau gemacht (bzw es versucht). Ich glaube nun zu wissen, daß eine Kombination von Kerberos5/cyrus-sasl/openldap geeignet ist, um oben genannte Bedingungen zu erfüllen. Leider verstehe ich die Zusammenhänge noch nicht so ganz. Kerberos wird zur Authentifizierung verwendet, gilt das für Passwörter oder ist das eine andere Art von Authentifizierung (zb so eine Art erlaubte Hosts ?) ? Wofür verwendet man dann cyrus-sasl ? Openldap greift dann auf services von kerberos/cyrus-sasl zu ? Mein Problem ist, daß ich inzwischen so viel gelesen habe, daß ich den Überblich verloren habe. Einige Seiten bieten Konfigurationshilfen an, leider habe ich erst zu spät bemerkt, daß die meisten veraltet sind (oder ich glaube das nur). Wo kann ich eine (aktuelle) Seite finden, die mir all diese Dinge und Zusammenhänge erklärt und Hilfe bei der Planung und Konfiguration gibt. Am besten wäre ein Tutorial, egal ob in deutsch oder enlisch. Ach ja, PAM brauche ich für die Passwörter ? Wenn ich die gesamte Authentifizierung über einen zentralen Host mache, was passiert im worst-case-Szenario, wenn dieser Host ausfällt ? Sind dann alle anderen Rechner im Netz total aufgeschmissen, weil man sich (zb) nicht mehr einloggen kann ? Das waren viele Fragen, ich habe jetzt noch ein paar spezielle zu ldap. Mein Netzwerk heißt hrnet.de (fiktiv !). Der Rechner auf dem ldap läuft heißt rechner.hrnet.de Ein Benutzer sei harry , Realname Harry Rüter (also ich :o), ich bin natürlich Manager/root/admin etc ... ---------------------------------------- ldap.conf : BASE dc=hrnet, dc=de (Was bedeutet BASE ? Was bedeutet dc ? ) (Stimmt dann :) suffix "o=hrnet.de" (o bedeutet Organisation ,so eine Art Root-verzeichnis ?) HOST rechner.hrnet.de (ist der Rechner auf dem der ldap läuft ?) (Was bedeutet der Eintrag ?) index default pres,eq ---------------------------------------- slapd.access : (Schreibzugriffe ?) : ----------------------------------------------------- # which they have write access to access to dn=".*,ou=Roaming,dc=.*" (Wäre das so korrekt ?) by dn="hrnet.de" write by dn="uid=Manager.+\+realm=rechner.hrnet.de" write by dnattr=owner write by * none ------------------------------------------------- (Authentifizierung,Passwörter sollten vom Benutzer geändert werden können, ander (Programme) sollen sie nur lesen/verwenden ?) -------------------------------------------------- # Some things should be editable by the owner, and viewable by anyone... access to attr=cn,givenName,sn,krbName,krb5PrincipalName,gecos by dn="manager" write by dn="uid=ldapadm.+\+realm=rechner.hrnet.de" write (kann dann nur vom dap-Rechner aus geändert werden, was machen die Client-Rechner ?) by self write by users read --------------------------------------------- (Nochmal Authentifizierung ?) access to attr=loginShell,gecos by dn="hrnet.de" write by dn="uid=ldapadm.+\+realm=rechner.hrnet.de" write by self write by * read ------------------------------------------------ (Kerberos) # since we're using {KERBEROS}<PRINCIPAL>, we can't allow the user # to change the password. They have to use the Kerberos 'kpasswd' to # do this... But the admin can change (if need be). # Please see krb5 userPassword attribute (Wie können dann beliebige user ihr Passwort ändern ?) access to attr=userPassword by dn="cn=admin,ou=People,dc=papadoc,dc=bayour,dc=com" write (welche dc nehme ich denn jetzt,was ist eigentlich dc ?) by dn="uid=ldapadm.+\+realm=rechner.hrnet.de" write by anonymous auth by * none ------------------------------------------------------------ (Nochmal Authentifizierung :-( ) # authenticate! access to attr=mail,mailAlternateAddress,mailHost by dn="YOURADMINDN" write (Also "YOURADMINDN" = Manager ?) by dn="uid=ldapadm.+\+realm=rechner.hrnet.de" write by users read by * none ------------------------------------------------------- (Lese/Schreibrechte:) # Should not be readable to anyone, and only editable by admin... access to attr=mailQuota,trustModel,accessTo by dn="YOURADMINDN" write (Also "YOURADMINDN" = Manager ?) by dn="uid=ldapadm.+\+realm=rechner.hrnet.de" write by self read by * none # The admin dn has full write access (Logo ..) access to * by dn="YOURADMINDN" write (Also "YOURADMINDN" = Manager ?) by dn="uid=ldapadm.+\+realm=rechner.hrnet.de" write by * read ------------------------------------------------------------- Da ergeben sich viele Fragen: ich versuche mal einen Baum der Abhängigkeiten zu malen : o (Organisation = Root-Verzeichnis) / \ ou ou (Organisations-Unit = Untereinheit zb Personen,Mitarbeiter,Rechner) (Beispiel Person) / \ / \ uid = harry uid = anyone (echte Personen, Nutzerdaten (bank)) | dn: uid = harry (Was ist denn jetzt dn ?) uid: harry (Hatte ich doch schon definiert, oder ?) cn: Harry Rüter (Watt is cn ?) .... (Weitere Attribute zb Adresse,email etc ..) userpassword: {CRYPT} XTRZZT&RHF& (Wo kommt das denn her ?) --------------------------------------------- Ihr seht, ich komme nicht ganz klar, kann mir jemand die Kürzel o,ou,cn,dn,sn (und ale wichtigen die jetzt noch fehlen) erklären ? ------------------------------------- slapd.conf (Warum benötige ich eigentlich zwei Konfiguationsdateien slapd.conf,ldap.conf ?) (Was ist ein Schema,welche brauche ich ?) include /etc/openldap/schema/core.schema (Stimmt das dann so ?) database ldbm suffix "dc=hrnet,dc=de" rootdn "cn=Manager,dc=hrnet,dc=de" (Datenbank-Verzeichnis ?) directory /var/lib/openldap (Was s denn das jetzt ?) # Indices to maintain index objectClass eq ---------------------------------------------- Wow, das ist eine ziemlich lange Mail geworden. Ich hoffe ihr seid jetzt nicht sauer ob meiner Unwissenheit, ich glaube mir müsse einfach ein paar Zusammenhänge erklärt werden, ein Beispiel gezeigt werden,damit ich - darauf aufbauend - weiter machen kann. Was ist eigentlich wenn das ganze konfiguriert ist, werden neue Daten (zb neuer user) dann immer mit Kommandozeilenprogrammen (ldapadd ..) administriert, oder gibt es da GUI's/WEbinterfaces, die das komfortabler (remote) erledigen ? Ich hoffe ich habe euch mit meiner Fragerei nicht genervt, einen schönen Tag (trotz schlechtem Wetter) wünscht Harry PS.: Konfiguration fast vergessen :o) : Ich verwende (oder möchte verwenden) cyrus-sasl-1.5.27 krb5-1.2.2 (Kerberos) openldap-2.0.18 System : Suse 7.1 (mit allen nötigen (Sicherheits)updates) Kernel 2.4.17 (vanilla) glibc 2.2