Richi: PHP + LDAP + Samba

Hallo,

ich will ein einfaches Webinterface für LDAP und Samba schreiben. Man soll User anlegen, anzeigen und löschen können.

Leider scheitere ich schon bei einer einfachen Verbindung.

<?php  
  
$ldaphost = '127.0.0.1';  
$ldapconn = ldap_connect($ldaphost) or die("Could not connect to $ldaphost");  
  
if (ldap_bind($ldapconn, "cn=Manager,dc=network,dc=pns", "test123")) {  
        echo "Die Verbindung zu $ldaphost war erfolgreich";  
} else {  
        echo "Username, oder Passwort sind falsch!";  
}  
  
?>

Leider kann ich mich nicht an den LDAP Server binden: "Username, oder Passwort sind falsch!"

Wenn ich über ldapsearch eine "Abfrage" mache, dann klappt dies.

richi@richi:~> ldapsearch -D "cn=manager,dc=network,dc=pns" -W -x
Enter LDAP Password: test123

extended LDIF

LDAPv3

base <dc=network,dc=pns> (default) with scope subtree

filter: (objectclass=*)

requesting: ALL

network.pns

dn: dc=network,dc=pns
objectClass: dcObject
objectClass: organization
o: network
dc: network

Users, network.pns

dn: ou=Users,dc=network,dc=pns
objectClass: top
objectClass: organizationalUnit
ou: Users

Groups, network.pns

dn: ou=Groups,dc=network,dc=pns
objectClass: top
objectClass: organizationalUnit
ou: Groups

Computers, network.pns

dn: ou=Computers,dc=network,dc=pns
objectClass: top
objectClass: organizationalUnit
ou: Computers

...

Jemand eine Idee was ich falsch mache?

lg Richi

  1. Hi Richi,

    if (ldap_bind($ldapconn, "cn=Manager,dc=network,dc=pns", "test123")) {
    richi@richi:~> ldapsearch -D "cn=manager,dc=network,dc=pns" -W -x

    Ich kenne mich prinzipiell damit nicht aus, aber es könnte am Großen M in Manager liegen.

    ciao
    romy

  2. Hallo,

    Jemand eine Idee was ich falsch mache?

    ldapsearch verwendet die /etc/ldap.conf, um Defaultwerte auszulesen. Was steht bei Dir da drin? Eventuell verbindet sich ldapsearch ja gar nicht mit localhost sondern mit einem anderen Rechner.

    Viele Grüße,
    Christian

    1. Hi nochmal,

      Jemand eine Idee was ich falsch mache?

      ldapsearch verwendet die /etc/ldap.conf, um Defaultwerte auszulesen. Was steht bei Dir da drin? Eventuell verbindet sich ldapsearch ja gar nicht mit localhost sondern mit einem anderen Rechner.

      Oh, Sorry, mein Fehler, nss_ldap und pam_ldap verwenden die /etc/ldap.conf, ldapsearch nutzt /etc/openldap/ldap.conf.

      Viele Grüße,
      Christian