merenda Geschrieben 8. September 2005 Geschrieben 8. September 2005 Hi @all, mein LDAP Läuft, meine Benutzerauthentifizierung scheint auch so zu laufen wie es laufen soll. Jetzt möchte ich bevor wir produktiv gehen meinen LDAP absichern, in dem ich noch einen LDAP-Slave aufbaue, der die Aufgaben des Masters übernimmt falls er mal ausfallen sollte. Ich hab schon damit angefangen, nur will das noch nicht so funktionieren wie es soll. Wie bin ich vorgegangen: 1. Ich hab die slapd.conf des LDAP - Master auf dem LDAP - Slave server kopiert 2. Dann habe ich die slapd.conf vom Master erweitert: #~~~~~~~~~~~~~# # Replikation # #~~~~~~~~~~~~~# replogfile /var/lib/openldap/slurp/slapd.replog replica host=10.206.176.172:389 binddn="cn=replicationsadmin,o=firma,c=de" bindmethod=simple credentials=test 3. Die Konfigurationsdatei vom LDAP-SLAVE hab ich auch erweitert: #~~~~~~~~~~~~~# # Replikation # #~~~~~~~~~~~~~# updatedn=cn"cn=replicationsadmin,o=firma,c=de" updateref=10.206.176.97:389 4. Mit ldapadd habe ich Auf dem LDAP-MAster einen replicationsadmin angelegt: dn: cn=replicationsadmin,o=firma,c=de cn: replicationsadmin description: LDAP-Administrator objectClass: top objectClass: Person sn: admin structuralObjectClass: Person entryUUID: 353e68dc-b31a-1029-9941-c0d5d140754d creatorsName: cn=admin,o=firma,c=de createTimestamp: 20050906120506Z entryCSN: 2005090612:05:06Z#0x0001#0#0000 modifiersName: cn=admin,o=firma,c=de modifyTimestamp: 20050906120506Z 5. Nach dem ich alles eingestellt habe, hab ich mit slapcat habe ich die LDAP-Master Datenbank ausgelesen und eine LDIF Datei erzeugt, die ich dann auf dem LDAP-Slave mit dem ldapadd Befehl einlesen wollte. Leider bekomme ich da immer Folgende Meldung: g8sxz002:~# ldapadd -x -D "cn=admin,o=firma,c=de" -W -f ldap-slave.ldif Enter LDAP Password: adding new entry "o=firma,c=de" ldap_add: Constraint violation (19) additional info: structuralObjectClass: no user modification allowed Hat jemand eine Ahnung was ich da falsch mache ? Kann es vielleicht daran liegen, dass der LDAP Master ein SLES8 Server mit LDAP Version 2.14 und der LDAP SLAVE ein SLES9 Server mit LDAP Version 2.2.24 ist ? Hier mal die Configs dann könnt ihr auch mal drauf schauen: LDAP - MASTER include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/misc.schema include /etc/openldap/schema/krb5-kdc.schema # Define global ACLs to disable default read access. pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args loglevel 128 256 512 sizelimit 500 timelimit 3600 #~~~~~~~~~~~~~~~# # Access Regeln # #~~~~~~~~~~~~~~~# access to attrs=userPassword by dn.base="cn=admin,o=firma,c=de" write by self write by anonymous auth by * none #### TEST - Maschinen #### ### Intel-TestMaschine access to dn.subtree="ou=mars,ou=Test-Systeme,o=firma,c=de" by dn.base="cn=admin,o=firma,c=de" write by peername="53.139.198.186" read by * none ### sxA access to dn.subtree="ou=sxA,ou=Test-Systeme,o=firma,c=de" by dn.base="cn=admin,o=firma,c=de" write by peername="10.206.176.212" read by peername="10.206.176.148" read by peername="10.206.176.74" read by * none ####################################################################### # ldbm database definitions ####################################################################### database bdb checkpoint 1024 5 cachesize 10000 suffix "o=firma,c=de" rootdn "cn=admin,o=firma,c=de" rootpw test directory /var/lib/ldap #index default pres,eq index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUid eq #~~~~~~~~~~~~~# # Replikation # #~~~~~~~~~~~~~# replogfile /var/lib/openldap/slurp/slapd.replog replica host=10.206.176.172:389 binddn="cn=replicationsadmin,o=firma,c=de" bindmethod=simple credentials=test LDAP-SLAVE include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/misc.schema #include /etc/openldap/schema/krb5-kdc.schema # Define global ACLs to disable default read access. pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args loglevel 128 256 512 sizelimit 500 timelimit 3600 #~~~~~~~~~~~~~~~# # Access Regeln # #~~~~~~~~~~~~~~~# access to attrs=userPassword by dn.base="cn=admin,o=firma,c=de" write by self write by anonymous auth by * none #### TEST - Maschinen #### ### Intel-TestMaschine access to dn.subtree="ou=mars,ou=Test-Systeme,o=firma,c=de" by dn.base="cn=admin,o=firma,c=de" write by peername="53.139.198.186" read by * none ### sxA access to dn.subtree="ou=sxA,ou=Test-Systeme,o=firma,c=de" by dn.base="cn=admin,o=firma,c=de" write by peername="10.206.176.212" read by peername="10.206.176.148" read by peername="10.206.176.74" read by * none ####################################################################### # ldbm database definitions ####################################################################### database bdb checkpoint 1024 5 cachesize 10000 suffix "o=firma,c=de" rootdn "cn=admin,o=firma,c=de" rootpw test directory /var/lib/ldap #index default pres,eq index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUid eq #~~~~~~~~~~~~~# # Replikation # #~~~~~~~~~~~~~# updatedn=cn"cn=replicationsadmin,o=firma,c=de" updateref=10.206.176.97:389 Danke schon mal für eure Hilfe. Gruß Merenda Zitieren
carstenj Geschrieben 8. September 2005 Geschrieben 8. September 2005 Hallo, läuft auf dem Master auch der Slurpd? EDIT: Du hast nicht die gleichen Schemata geladen. Auf dem Slave hast du #include /etc/openldap/schema/krb5-kdc.schema auskommentiert. Zitieren
merenda Geschrieben 8. September 2005 Autor Geschrieben 8. September 2005 Hi, danke erst mal für dein Post sorry das mit dem Schemas war mein Fehler, die sind auf beiden Seiten auskommentiert. Auf dem Master läuft jetzt auch der slurpd-Deamon, aber wenn ich ihn starte bekomme ich folgende Meldung:g8sxz001:~ # rcslurpd start Starting slurpdError: Malformed "replica" line in slapd config file, line 82 Warning: failed to add replica "10.206.176.172:389 - ignoring replica done Aber der slurpd-Deamon ist gestartet. Aber ich kann trozdem mit ldapadd die keine Daten einlesen Merenda Zitieren
Markus_Z Geschrieben 8. September 2005 Geschrieben 8. September 2005 Hallo! Die Versionen openldap 2.1 und openldap 2.2 unterscheiden sich gewaltig. Ich habe damals auch ein problem gehabt welches sich durch ändern eines Wertes in den Schema Dateien behebte. Ich hatte damals wie wild gegoogelt und bin zufällig auf eine kleine Seite gekommen wo das stand. Man musste die Integer zahlen auf Boolean umstellen doch ich hab damals nur anhand des Beispiels auf der HP herausbekommen was ich ändern musste. Erklären kann ich es leider nicht... Aber wenn ich daheim bin kann ich mal in meinen .schema Dateien schauen... Zitieren
merenda Geschrieben 9. September 2005 Autor Geschrieben 9. September 2005 Hi, ich hab das mit dem slurpd-Deamon jetzt hinbekommen, da haben sie ein paar Fehler eingeschliechen, die ich übersehen hatte. Ich hab mir jetzt einen SLES8 server besorgt und dort versucht den SLAVE aufzusetzen. Also jetzt habe ich folgenden Stand: SLES8 - LDAP - Master Läuft mit folgender Konfiguration:include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/misc.schema #include /etc/openldap/schema/krb5-kdc.schema # Define global ACLs to disable default read access. pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args loglevel 1024 sizelimit 500 timelimit 3600 #~~~~~~~~~~~~~~~# # Access Regeln # #~~~~~~~~~~~~~~~# access to attrs=userPassword by dn.base="cn=admin,o=firma,c=de" write by self write by anonymous auth by * none #### TEST - Maschinen #### ### Intel-TestMaschine access to dn.subtree="ou=mars,ou=Test-Systeme,o=firma,c=de" by dn.base="cn=admin,o=firma,c=de" write by peername="53.139.198.186" read by * none ### sxA access to dn.subtree="ou=sxA,ou=Test-Systeme,o=firma,c=de" by dn.base="cn=admin,o=firma,c=de" write by peername="10.206.176.212" read by peername="10.206.176.148" read by peername="10.206.176.74" read by * none ####################################################################### # ldbm database definitions ####################################################################### database bdb checkpoint 1024 5 cachesize 10000 suffix "o=firma,c=de" rootdn "cn=admin,o=firma,c=de" rootpw test directory /var/lib/ldap #index default pres,eq index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUid eq #~~~~~~~~~~~~~# # Replikation # #~~~~~~~~~~~~~# replogfile /var/lib/openldap/slurp/slapd.replog replica host=10.206.176.148:389 binddn="cn=replicationsadmin,o=firma,c=de" bindmethod=simple credentials=test SLES8 - LDAP - SLAVE Läuft mit folgender Konfiguration:include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/misc.schema #include /etc/openldap/schema/krb5-kdc.schema # Define global ACLs to disable default read access. pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args loglevel 1024 sizelimit 500 timelimit 3600 #~~~~~~~~~~~~~~~# # Access Regeln # #~~~~~~~~~~~~~~~# access to attrs=userPassword by dn.base="cn=admin,o=firma,c=de" write by self write by anonymous auth by * none #### TEST - Maschinen #### ### Intel-TestMaschine access to dn.subtree="ou=mars,ou=Test-Systeme,o=firma,c=de" by dn.base="cn=admin,o=firma,c=de" write by peername="53.139.198.186" read by * none ### sxA access to dn.subtree="ou=sxA,ou=Test-Systeme,o=firma,c=de" by dn.base="cn=admin,o=firma,c=de" write by peername="10.206.176.212" read by peername="10.206.176.148" read by peername="10.206.176.74" read by * none ####################################################################### # ldbm database definitions ####################################################################### database bdb checkpoint 1024 5 cachesize 10000 suffix "o=firma,c=de" rootdn "cn=admin,o=firma,c=de" rootpw test directory /var/lib/ldap #index default pres,eq index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUid eq #~~~~~~~~~~~~~# # Replikation # #~~~~~~~~~~~~~# updatedn "cn=replicationsadmin,o=firma,c=de" updateref 10.206.176.97:389 Ich bin jetzt folgendermasen ran gegangen: 1. Konfigurations des Masters auf dem SLAVE Kopiert 2. Einstellungen fürs Repliziren in den 2 Konfigs eingestellt 3. Dann habe ich mit slapcat eine LDIF - Datei erstellt 4. Die LDIF - Datei habe ich auf dem SLAVE Server kopiert und versucht mit ldapadd einzulesen, doch leider funktioniert das troz SLES8 nicht hat jemand eine IDEE:g8sxa:~ # ldapadd -x -D "cn=admin,o=firma,c=de" -W -f useradd.ldif Enter LDAP Password: adding new entry "o=firma,c=de" ldapadd: update failed: o=firma,c=de ldap_add: Constraint violation (19) additional info: structuralObjectClass: no user modification allowed Danke und Gruß Merenda Zitieren
merenda Geschrieben 9. September 2005 Autor Geschrieben 9. September 2005 Hallo, ich hab das hinbekommen und zwar hätte ich das nicht mit dem Kommand ldapadd machen sollen sonsern mit dem slapadd. Jetzt funktioniert es auch mit dem replizieren. Was mir noch aufgedallen ist, wenn jetzt der LDAP-Slave Down ist, kann er ja keine informationen mehr empfanfen. Wenn ich ihn dann hochfahre, muss ich den slurpd-Deamon stopen und staren, damit die Änderungem an den LDAP-SLAVE weiter gegeben werden. Gibt es da eine andere Möglichkeit die daten an den SLAVE weiter zu reichen, z.B.: Automatisch ? Und wie kann ich es bewerkstelligen, dass wenn der LDAP-Master augeschaltet wird, dass die LDAP-Clients auf dem SLAVE suchen und nicht weiter auf dem MASTER ? Muss ich das auf dem Clients einrichten oder an den LDAP-Servers ? Danke schon mal für die Hilfe Gruß Merenda Zitieren
Empfohlene Beiträge
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.