ldapsearch -y schlägt mit der Fehlermeldung “ldap_bind: Invalid credentials (49)” fehl

Bei dem Programm ldapsearch kann man mit der Option -y eine Datei angeben, aus der ldapsearch das Passwort für die Verbindung zum LDAP Server ausliest. Obwohl das Passwort in der Datei korrekt war, lieferte ldapsearch immer den Fehler “ldap_bind: Invalid credentials (49)”. Nach einigem Suchen fand ich die Lösung.

ldapsearch kommt nicht damit zurecht, wenn ein Zeilenendzeichen oder Zeilenumbruch die Zeile in der Passwortdatei begrenzt. Diese werden bei der Authentifizierung als Passwortbestandteil gesehen, was die Authentifizierung natürlich fehlschlagen lässt.

echo PASSWORT > .ldappasswd

erzeugt eine Datei, die die Fehlermeldung “ldap_bind: Invalid credentials (49)” liefert, wenn man sie mit der ldapsearch -y Option benutzt, obwohl PASSWORT das korrekte Passwort für die LDAP Verbindung ist.

Die Lösung für das Problem ist das Löschen der Steuerzeichen mit dem tr Kommando.

echo PASSWORT | tr -d ‘\n\r’ > .ldappasswd

Alternativ kann man auch die -n Option (do not output the trailing newline) bei dem Echo Befehl benutzen:

echo -n PASSWORT > .ldappasswd

Nun funktioniert die Datei mit der ldapsearch Option -y ohne Fehlermeldung.

Beteilige dich an der Unterhaltung

1 Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert