PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LDAP: ldif-Datei lässt sich nicht einspeisen...:(



fnd
16.10.08, 21:56
Hallöchen,
bin ein Neuling was LDAP angeht und habe ein Problem beim Adden der ldif-Datei :(
die konfi-Datein sehn folgendermaßen aus:

--------------------------------------------------------------------------
meine ldap.conf:

BASE dc=mycompany,dc=com
.....
port 389

--------------------------------------------------------------------------
meine slapd.conf:
....
suffix "dc=mycompany,dc=com"

# rootdn directive for specifying a superuser on the database. This is needed
# for syncrepl.
rootdn "cn=Manager,dc=mycompany,dc=com"
rootpw secret
.....
------------------------------------------------------------------------
und die auth.ldif:

# Define top-level entry
dn: dc=mycompany, dc=com
objectclass: organization
objectClass: top
objectClass: dcObject
dc: mycompany
o:mycompany

# Define an entry to contain people
# searches for users are based on this entry
dn: ou=people,dc=mycompany,dc=com
objectClass: organizationalUnit
ou: people

# Define a user entry for Janet Jones
dn: uid=jjones,ou=people,dc=mycompany,dc=com
objectClass: inetOrgPerson
uid: jjones
givenName: Janet
sn: Jones
cn: Gruppenleiter
cn: Einsatzleiter
description: bauamt_grundriss_r
description: bauamt_hydro_r
description: ema_r
description:erzeuge_hilfe
mail: enable
userPassword: janet

# Define a user entry for Tom Fire
dn: uid=tfire,ou=people,dc=mycompany,dc=com
objectClass: inetOrgPerson
uid: tfire
givenName: Tom
sn: Fire
cn: Gruppenleiter
description: bauamt_hydro_r
mail: enable
userPassword: tom

dn: uid=tadmin,ou=people,dc=mycompany,dc=com
objectClass: inetOrgPerson
uid: tadmin
givenName: Thomas
sn: admin
cn: admin
description: masterUser
mail: enable
userPassword: admin

#Rollendefinition:

dn: uid=admin,ou=people,dc=mycompany,dc=com
objectClass: inetOrgPerson
uid: admin
sn: admin
cn: DienstAdmin

dn: uid=Einsatzleiter,ou=people,dc=mycompany,dc=com
objectClass: inetOrgPerson
uid: Einsatzleiter
sn: Einsatzleiter
cn: bauamt_lageplan_r
cn: bauamt_grundriss_r
cn: bauamt_hydro_r
cn: ema_r
cn:erzeuge_hilfe
initials: role

dn: uid=Gruppenleiter,ou=people,dc=mycompany,dc=com
objectClass: inetOrgPerson
uid: Einsatzleiter
sn: Einsatzleiter
cn: bauamt_hydro_r
initials: role

# Define an entry to contain LDAP groups
# searches for roles are based on this entry
dn: ou=groups,dc=mycompany,dc=com
objectClass: organizationalUnit
ou: groups

# Define an entry for the "tomcat" role
dn: cn=tomcat,ou=groups,dc=mycompany,dc=com
objectClass: groupOfUniqueNames
cn: tomcat
uniqueMember: uid=jjones,ou=people,dc=mycompany,dc=com
uniqueMember: uid=tfire,ou=people,dc=mycompany,dc=com
uniqueMember: uid=tadmin,ou=people,dc=mycompany,dc=com
---------------------------------------------------------------------


Wenn ich nun per ldapadd -x -D cn=Manager,dc=mycompany,dc=com -W -f auth.ldif die Struktur einfügen will, kommt folgende Fehlermeldung:

Enter LDAP Password:
ldap_bind: Invalid credentials (49)
...

ALso ich gehe stark davon aus, dass in meiner auth.ldif was falsch ist... ??!!

Bin euch dankbar für jede Hilfe....:confused:

hessijens
17.10.08, 12:40
Nein. "ldap_bind: Invalid credentials (49)" heist erst mal dass Du dich am ldap falsch oder gar nicht authorisiert hast.

Vielleicht geht ja:

ldapadd -x -D cn="Manager,dc=mycompany,dc=com" -h ldap.mycompany.com -w secret -f auth.ldif

Bitte beachte die Anführungszeichen und das kleine "w". auch weiß ich nicht ob ldap.mycompyny.com wirklich Dein ldap Server ist.

fnd
17.10.08, 14:28
root@funda-desktop:/etc/ldap# ldapadd -x -D cn="Manager,dc=mycompany,dc=com" -h ldap.mycompany.com -w secret -f auth.ldif
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)


anscheinend nicht...:X ???!!!

BedriddenTech
17.10.08, 15:49
Die Kommas sind nicht kritisch für die Shell, eigentlich müßte es auch so gehen. Wird auf der Serverseite was protokolliert?

hessijens
17.10.08, 15:53
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) Bedeutet nun, dass Dein Ldap Server auf eine andere Adresse hört, bzw. das es ldap.mycompany.com nicht gibt.

Nochmal eine kurze Erklärung meiner Vorschläge.

Die Anführungzeichen habe ich gesetzt, da Deine Shell den Befehlt zunächst interpretiert. Dabei kann je nach Shell ein Komma oder ein "=" eben stören, sodass Dein Distinguished Name (DN) falsch interpretiert wird und die Authorisierung nicht funktioniert (ldap_bind: Invalid credentials (49)).

Die option "-h ldapserver' habe ich gesetzt, da per default der Server Deiner /etc/ldap.conf (das was Du mit Punkten angedeutet hast) genommen wird. Das kann 'localhost' oder 'ldap.mycompany.com' oder 'sonstwas' sein. Wie gesagt, ich weiß es nicht. Du solltest wissen auf welche Adresse und welchen port 386? Dein Ldap Server hört. Solange Du ohne TLS oder SSL (was ich annehme) arbeitest kannst Du hier auch die IP-Adresse nehmen.

Anmerkung: TLS und SSL funktionieren nur wenn der DN Name Deines Zertifikates mit dem Domainnamen Deines Ldapservers übereinstimmen.

Das "-w password" sollte sein um sicherzugehn, dass man sich nicht bei der Eingabe des Passwortes vertippt. Weitere Erklärungen findest Du mit "man ldapadd"

Dann noch eine Frage. Was möchtest Du mit dem Ldap machen. Als "Telefonbuch" sind Deine Einträge in der LDIF korrekt und sollten bis auf "dn: uid=Gruppenleiter,ou=people,dc=mycompany,dc=com" (es fehlt der "uid: Gruppenleiter") fehlerfrei sein - zumindest auf den ersten Blick. Authorisierung oder Benutzerverwaltung lässt sich mit solchen Einträgen aber (noch) nicht machen.

fnd
17.10.08, 16:21
Uppss.... Tatsächlich, habe einfach nen falschen Host in der ldap.conf eingegeben bzw. gar keinen Host :P

Jedenfalls hats jetzt funktioniert mit dem adden...
Vielen lieben Dank trotzdem