resetpassword 592 B

123456789101112131415161718192021222324252627282930
  1. #!/bin/bash -e
  2. . /etc/ldap-utils.conf
  3. . /usr/local/lib/ldap-utils/funcs
  4. usage() {
  5. echo "Usage : $(basename $0) -u <uid> -n <First name> -s <Last Name> [-p] [-g group1,group2,...]"
  6. }
  7. trap usage ERR
  8. clearpw=$(pwgen 50 1)
  9. pw=$(/usr/sbin/slappasswd -o module-load=pw-sha2 -h '{SSHA512}' -s "$clearpw")
  10. uid=$1
  11. if user_exists $uid; then
  12. true
  13. else
  14. echo "User $uid does not exists."
  15. exit 1
  16. fi
  17. ldif="dn: uid=$uid,$PEOPLEDN
  18. changetype: modify
  19. replace: userPassword
  20. userPassword: $pw"
  21. echo "$ldif" | ldapmodify $LDAPOPTS
  22. echo "Password changed, here is the new one"
  23. echo "$clearpw"