[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Problem with passwords that start with $
At 01:49 PM 8/26/99 -0400, james@water.wwnet.net wrote:
>I am using openldap 1.2 and am having problems binding with passwords that
>start with $, I have tried binding with passwords with the $ in all other
>positions and it works fine, but when it is the first character in the
>password it is not working.
You should verify that the userPassword value stored in the directory
is correct. E.g.:
ldapsearch -L -b '<targetDN>' -D '<rootDN>' -w '<rootPW>'
'(objectclass=*)' userpassword
This should return:
dn: <targetDN>
userPassword: <password>
If you are using cleartext passwords, the actual password will be
visable. If using hashed passwords (crypt(3), MD5, SHA1, etc.),
then the {type}hash-value will be provided.
If the userPassword attribute has no value, you likely did not
correctly escape $.
>I thought perhaps the software I had written was munging the password, but
>I tried using ldapsearch and binding and it failed as well. (Yes I did
>escape it from my shell)
With single quotes (') or double quotes ("). Most common UNIX shells
require single quoting to disable variable ($) substitutions.
Also, note, that <<EOF processing (used commonly when ldapadd/modify)
allows variable ($) substitutions. In the following example,
cat <<EOF
userpassword: $string
EOF
will likely result in either:
string: Undefined variable.
or
userpassword:
depending upon the shell. Check the value of userPassword you
have in the directory... and than authenticate to that value
using -w '$string' or -w \$string or other form which ensures
$ and other specials are treated as a ordinary character.
Kurt