Hallo Milo,
der „Bind-User“ ist irgendein Benutzer, der die gewünschte Information aus dem LDAP abfragen darf. Manche LDAP-Server erlauben anonyme Abfragen, aber normalerweise muss man einen Usernamen und ein Passwort angeben.
Du verwendest hier:
schon den User Ca21er, um den es später geht. Das geht natürlich, aber dann funktioniert Dein Skript nur für diesen einen User – genauer: für alle, deren Informationen Dein Ca21er auslesen darf. Außerdem musst Du das Passwort dieses Users in den Code einbauen (oder abfragen).
Besser wäre es, hier einen User zu verwenden, der den gesamten relevanten Teil des LDAP abfragen darf.
Ich würde Dir auch mal empfehlen, einen sehr allgemeinen Filter zu verwenden, z. B. „(cn=*)“, und Dir dann die gesamte Ausgabe anzusehen. So kannst Du die im LDAP hinterlegten Attribute erkennen, die sind nicht überall gleich. Bei uns (und darauf beziehen sich die Beispiele von Christoph) hat jeder User Attribute wie „memberOf=gruppe1“ – und zwar eines für jede Gruppe, in der er Mitglied ist. Es gibt aber auch LDAP-Bäume, da ist die Information, wer in welcher Gruppe ist, bei den Gruppen hinterlegt, z. B. gibt es bei der Gruppe ein Attribut „members=user1,user2,…“ – dann müsste Dein Code ganz anders aussehen. Wenn Du die Struktur des LDAP nicht kennst, dann ist es schwierig. Deshalb: Erst einmal so viel wie möglich abfragen.
Beste Grüße
Jörg