PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : phpLDAPadmin



vitoek
28.03.2007, 15:48
hi all,

ich habe mein LDAP nun endlich zum Laufen bekommen habe allerdings noch ein Problem mit phpLDAPadmin.
Wenn ich mich "anonymous" anmelde, kann ich alle von mir erstellten (ldapadd) Einträge in der DB sehen. Dann kann allerdings nichts hinzufügen, weil ja nur im readonly modus.

Wenn ich mich mit Passwort anmelde, dann kommt folgendes:

Konnte keine Verbindung zum LDAP-Server herstellen
LDAP said: Undefined attribute type
Error number: 0x11 (LDAP_UNDEFINED_TYPE)
Beschreibung: The attribute type specified is invalid.

ist noch was in der slapd.conf falsch?

blur
30.03.2007, 14:15
Moin, moin,

sieht aus, als wäre etwas bei Deiner Anmeldung falsch. Du musst die korrekte DN und den korrekten User-Info in der richtigen Reihenfolge angeben.

gruß
Blur

vitoek
16.04.2007, 10:58
in der config.php, richtig ??

Dazu mal eine Frage:
// und /* ... */ sind ja Kommentare
was bedeuten aber Zeilen mit einer # davor?

was davon muss ich einstellen? so sieht die bisher aus:

$ldapservers->SetValue($i,'server','name','apollon');
$ldapservers->SetValue($i,'server','host','apollon.host.de');
// $ldapservers->SetValue($i,'server','port','389');
$ldapservers->SetValue($i,'server','base',array('dc=apollon,dc=h ost,dc=de'));
// $ldapservers->SetValue($i,'server','auth_type','cookie');
# $ldapservers->SetValue($i,'login','dn','cn=ldapmaster,dc=apollon ,dc=host,dc=de');
# $ldapservers->SetValue($i,'login','pass','hier steht das Passwort in Klartext');
// $ldapservers->SetValue($i,'server','tls',false);
// $ldapservers->SetValue($i,'server','low_bandwidth',false);
// $ldapservers->SetValue($i,'appearance','password_hash','md5');
// $ldapservers->SetValue($i,'login','attr','dn');
// $ldapservers->SetValue($i,'login','string',null);
// $ldapservers->SetValue($i,'login','class',null);
// $ldapservers->SetValue($i,'server','read_only',false);
// $ldapservers->SetValue($i,'appearance','show_create',true);
// $ldapservers->SetValue($i,'auto_number','enable',true);
// $ldapservers->SetValue($i,'auto_number','mechanism','search');
// $ldapservers->SetValue($i,'auto_number','search_base',null);
// $ldapservers->SetValue($i,'auto_number','min','1000');
// $ldapservers->SetValue($i,'auto_number','dn',null);
// $ldapservers->SetValue($i,'auto_number','pass',null);
// $ldapservers->SetValue($i,'login','anon_bind',true);
// $ldapservers->SetValue($i,'custom','pages_prefix','custom_');
// $ldapservers->SetValue($i,'unique_attrs','dn',null);
// $ldapservers->SetValue($i,'unique_attrs','pass',null);

# SASL auth
// $ldapservers->SetValue($i,'server','sasl_auth',true);
// $ldapservers->SetValue($i,'server','sasl_mech','PLAIN');
# $ldapservers->SetValue($i,'server','sasl_realm','EXAMPLE.COM');
// $ldapservers->SetValue($i,'server','sasl_authz_id_regex',null);
// $ldapservers->SetValue($i,'server','sasl_authz_id_replacement',n ull);
# $ldapservers->SetValue($i,'server','sasl_authz_id_regex','/^uid=([^,]+)(.+)/i');
# $ldapservers->SetValue($i,'server','sasl_authz_id_replacement',' $1');

lordlamer
16.04.2007, 11:15
Wie sieht den deine LDAP Struktur aus und welche Einträge gibt es bisher?

seadog
16.04.2007, 11:22
Hallo vitoek,

die Zeilen mit einen #-Zeichen sind auch Kommentare. Du kannst diese Zeilen "freischalten", wenn du das Zeichen löscht.
Hat sich dein Problem mit der Anmeldung schon erledigt?

MfG
seadog

vitoek
16.04.2007, 12:10
nein, leider nicht

lordlamer
16.04.2007, 12:12
wie sieht deine LDAP Struktur den aus?

vitoek
16.04.2007, 12:23
# apollon.host.de
dn: dc=apollon,dc=host,dc=de
objectClass: dcObject
objectClass: organization
dc: apollon
o: Testeintrag

# Manager, apollon.host.de
dn: cn=Manager,dc=apollon,dc=host,dc=de
objectClass: organizationalRole
cn: Manager
description: Account der LDAP Administrators

# verkauf, apollon.host.de
dn: ou=verkauf,dc=apollon,dc=host,dc=de
objectClass: dcObject
objectClass: organizationalUnit
description: Abteilung Verkauf
dc: apollon
ou: verkauf

# marketing, apollon.host.de
dn: ou=marketing,dc=apollon,dc=host,dc=de
objectClass: dcObject
objectClass: organizationalUnit
description: Abteilung Marketing
dc: apollon
ou: marketing

# forschung, apollon.host.de
dn: ou=forschung,dc=apollon,dc=host,dc=de
objectClass: dcObject
objectClass: organizationalUnit
description: Abteilung Forschung
dc: apollon
ou: forschung

# xeno, forschung, apollon.host.de
dn: ou=xeno,ou=forschung,dc=apollon,dc=host,dc=de
objectClass: dcObject
objectClass: organizationalUnit
description: Abteilung Forschung, Unterabteilung Xeno
dc: apollon
ou: xeno

# superuser, apollon.host.de
dn: cn=superuser,dc=apollon,dc=host,dc=de
objectClass: top
objectClass: groupOfNames
cn: superuser
member: uid=ckent,ou=verkauf,dc=apollon,dc=host,dc=de
member: uid=skiu,ou=forschung,dc=apollon,dc=host,dc=de
member: uid=hcallahan,ou=verkauf,dc=apollon,dc=host,dc=de

# ckent, verkauf, apollon.host.de
dn: uid=ckent,ou=verkauf,dc=apollon,dc=host,dc=de
objectClass: posixAccount
objectClass: inetOrgPerson
uid: ckent
uidNumber: 901
gidNumber: 100
description: Mitarbeiter Clark Kent, Abteilung Verkauf
sn: Kent
mail: ckent@verkauf.local.site
telephoneNumber: 0800-verkauf-901
homeDirectory: /home/ckent
loginShell: /bin/bash
cn: clarkkent

# hcallahan, verkauf, apollon.host.de
dn: uid=hcallahan,ou=verkauf,dc=apollon,dc=host,dc=de
objectClass: posixAccount
objectClass: inetOrgPerson
uid: hcallahan
uidNumber: 902
gidNumber: 100
description: Mitarbeiter Harry Callahan, Abteilung Verkauf
sn: Callahan
mail: hcallahan@verkauf.local.site
homeDirectory: /home/hcallahan
loginShell: /bin/bash
cn: harrycallahan

# skiu, forschung, apollon.host.de
dn: uid=skiu,ou=forschung,dc=apollon,dc=host,dc=de
objectClass: posixAccount
objectClass: inetOrgPerson
uid: skiu
uidNumber: 903
gidNumber: 100
description: Mitarbeiterin Susi Kiu, Abteilung Forschung
sn: Kiu
mail: skiu@forschung.local.site
telephoneNumber: 0800-forschung-903
homeDirectory: /home/skiu
loginShell: /bin/bash
cn: susiekiu

# eripley, forschung, apollon.host.de
dn: uid=eripley,ou=forschung,dc=apollon,dc=host,dc=de
objectClass: posixAccount
objectClass: inetOrgPerson
uid: eripley
uidNumber: 905
gidNumber: 100
description: Mitarbeiterin Ellen Ripley, Abteilung Forschung
sn: Ripley
mail: eripley@forschung.local.site
telephoneNumber: 0800-forschung-905
homeDirectory: /home/eripley
loginShell: /bin/bash
cn: ellenripley

# eripley, xeno, forschung, apollon.host.de
dn: uid=eripley,ou=xeno,ou=forschung,dc=apollon,dc=hos t,dc=de
objectClass: posixAccount
objectClass: inetOrgPerson
uid: eripley
uidNumber: 907
gidNumber: 100
description: Mitarbeiterin Ellen Ripley, Abteilung Forschung, Unterabteilung X
eno
sn: Ripley
mail: eripley@xeno.forschung.local.site
telephoneNumber: 0800-xenoforschung-907
homeDirectory: /home/eripley
loginShell: /bin/bash
cn: ellenripley

# vcorleone, marketing, apollon.host.de
dn: uid=vcorleone,ou=marketing,dc=apollon,dc=host,dc=d e
objectClass: posixAccount
objectClass: inetOrgPerson
uid: vcorleone
uidNumber: 904
gidNumber: 100
description: Mitarbeiter Vito Corleone, Abteilung Marketing
sn: Corleone
mail: vcorleone@marketing.local.site
telephoneNumber: 0800-marketing-904
homeDirectory: /home/vcorleone
loginShell: /bin/bash
cn: vitocorleone

# eripley, marketing, apollon.host.de
dn: uid=eripley,ou=marketing,dc=apollon,dc=host,dc=de
objectClass: posixAccount
objectClass: inetOrgPerson
uid: eripley
uidNumber: 909
gidNumber: 100
description: Mitarbeiterin Ellen Ripley, Abteilung Marketing
sn: Ripley
mail: eripley@marketing.local.site
telephoneNumber: 0800-marketing-909
homeDirectory: /home/eripley
loginShell: /bin/bash
cn: ellenripley

# People, apollon.host.de
dn: ou=People,dc=apollon,dc=host,dc=de
objectClass: organizationalUnit
ou: People

# group, apollon.host.de
dn: ou=group,dc=apollon,dc=host,dc=de
objectClass: organizationalUnit
ou: group

# machines, apollon.host.de
dn: ou=machines,dc=apollon,dc=host,dc=de
objectClass: organizationalUnit
ou: machines

# domains, apollon.host.de
dn: ou=domains,dc=apollon,dc=host,dc=de
objectClass: organizationalUnit
ou: domains

seadog
16.04.2007, 13:52
Dein Manageraccount fehlt das Attribut "userPassword:" in dem das verschlüsselte Password abgelegt ist. Dies fügst du am besten mit ldapmodify hinzu. Um das Password zu erzeugen benutzt du slappasswd.

Dein Eintrag sollte so aussehen:

# Manager, apollon.host.de
dn: cn=Manager,dc=apollon,dc=host,dc=de
objectClass: organizationalRole
cn: Manager
description: Account der LDAP Administrators
userPassword: {crypt}DzcLlwTib0QVE

Das Passwort wird natürlich anders aussehen. Wahrscheinlich wird es sogar ein {SSHA}..... sein.

MfG
seadog

vitoek
16.04.2007, 15:53
das Schema passt nicht,

ldap_modify: Object class violation (65)
additional info: attribute 'userPassword' not allowed

seadog
17.04.2007, 07:29
Ich sehe gerade das in der Struktur noch was fehlt. Für das 'userPassword' muss dem Manager neben der Objektklasse 'organizationalRole'
noch die Objektklasse 'simpleSecurityObject' hinzu gefügt werden, dann sollte es klappen.

vitoek
17.04.2007, 10:04
danke!
ldapmodify hats jetzt akzeptiert, aber Anmelden kann ich mich immer noch nicht ;(

LAM (ldap account manager - auch ein webfrontend) geht aber.....
also muss ich noch etwas in der config.php falsch haben?! ;(

seadog
17.04.2007, 10:46
Sieht deine config.php noch so aus wie oben im Thread?

vitoek
19.04.2007, 13:01
ja

seadog
19.04.2007, 13:34
Ändere bitte die Zeile

// $ldapservers->SetValue($i,'server','auth_type','cookie');

zu

$ldapservers->SetValue($i,'server','auth_type','session');

MfG
seadog

vitoek
19.04.2007, 13:36
ich fasse es nicht, habe gerade 'phpldapadmin-1.0.2' in 'phpldapadmin' umbenannt, plus

# $ldapservers->SetValue($i,'login','dn','cn=ldapmaster,dc=apollo n,dc=host,dc=de');
# $ldapservers->SetValue($i,'login','pass','hier steht das Passwort in Klartext');
wieder einkommentiert. Nun hat phpldapadmin die DN sogar automatisch gefunden und fragte mich nur noch nach dem Passwort! Jetzt funktioniert es !!

kooooomisch....


danke an ALLE!!! für jeden TIP!!!

seadog
19.04.2007, 13:50
Also war die config.php nicht wie oben :-)

Es macht auch Sinn da in der config.php 'cn=ldapmaster' steht, aber im LDAP-Verzeichnis 'cn=Manager' der LDAP-Admin ist.

Schön das jetzt alles wieder funzt.

MfG
seadog

vitoek
19.04.2007, 18:39
die richtige cn ist Manager.
hab jetzt noch die Session aktiviert....

danke !!!!