ldapsearch password file format
How am I supposed to pass a password to ldapsearch
using the -y <password file>
option?
If I write the password in the password file in plain text, I get this error:
ldap_bind: Invalid credentials (49)
additional info: 80090308: LdapErr: DSID-0C0903AA, comment: AcceptSecurityContext error, data 52e, v1772
The same happens if I use the -w <password>
option.
EDIT:
The command I'm running is
ldapsearch -x -D <my dn> -y .pass.txt -h server.x.x -b "dc=x,dc=y" "cn=*"
Where the file .pass.txt
contains my password, in plain text. Both the DN and the password are correct. If I run the command with the -W
option and type the password on the prompt the command runs successfully, but I would like to store the password somehow to make a script.
Keep in mind that ldapsearch will use the entire contents of the file for the password--which means it WILL include a terminating newline character if one exists. To verify if this is in fact your problem, try creating a file without one:
echo -n ThisIsaBadPassword > .pass.txt
(UPDATE: Included '-n')
Assuming it is the newline/carriage reuturn try the following:
cat .pass.txt | tr -d '\n\r' > .pass2.txt
Then use the .pass2.txt file. You can always check for new lines and carriage returns with cat -vE
and they will show up as $ and ^M respectively.
You could also probably do -y <(cat .pass.txt | tr -d '\n\r')
directly in the ldapsearch command.