10

I have a LDIF file that consists of a set of test users and I would like to change the passwords for these users.

I used the ldapmodify command:

ldapmodify -c -a -f filename.ldif -h localhost -p <port> -D dn -w <pwd> << !

dn: uid=<userid>,dc=<branch>,DC=COM
changetype: modify
replace: userPassword
userPassword: <new pwd>
!

And I get the following error:

ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
  1. What does this mean?
  2. The syntax I have used can be used for only one user, I would like to modify the passwords of all the test users in my LDIF file. Is there a way to do so?
pb2q
  • 58,613
  • 19
  • 146
  • 147
user1428900
  • 141
  • 1
  • 2
  • 11

2 Answers2

14

The given error is an indication that the server specified by the hostname and port could not be contacted, that is, a connection could not be established. Also, the legacy OpenLDAP ldapmodify client defaults to a SASL bind when the -x command line option is not specified.

The LDIF input can contain any number of entries to be modified, not just one:

dn: uid=abc,dc=example,dc=com
changetype: modify
replace: userPassword
userPassword: the-new-password

dn: uid=def,dc=example,dc=com
changetype: modify
replace: userPassword
userPassword: another-new-password

see also

mss
  • 1,804
  • 1
  • 17
  • 18
Terry Gardner
  • 10,957
  • 2
  • 28
  • 38
  • Thanks a lot Terry. Now I can understand how it works. When I add -x to my command I get the following error, "ldap_result: Can't contact LDAP server (-1)" – user1428900 Jun 14 '12 at 18:46
  • Having gone through "Mastering ldapmodify", this is the command I am using, ldapmodify -x -h localhost -p 4444 -D 'cn=root' -w -c -f /tmp.ldif and I get the following error "ldap_result: Can't contact LDAP server (-1)" – user1428900 Jun 14 '12 at 19:06
1
ldapmodify -p 389 -D "" -w -a -c v -f pwd.ldif

pwd.ldif has below

dn: cn=config
changetype: modify
replace: root-dn-pwd
root-dn-pwd: xxxxxxx
Damodaran
  • 10,882
  • 10
  • 60
  • 81