you don't need to have any administrative role to change your own password in ldap. . Being able to authenticate with your own credentials is enough.
Jere is a script that you can use to allow a user to change password against your ldap server. It also forces users to use a password length of minimum 8 characters. The correct way would of course to enforce this change on the ldap server with the ppolicy (password policyoverlay) since it can easily be overridden by any user who reads the script or calls ldappasswd from the shell him/her self
#!/bin/bash
# a simple yet precise script to allow users to set their own ldap password
stty -echo
pwdminlenght=8
passwordok=true
username=$(whoami)
printf "Please enter your current ldap password:\n"
read currentpassword
printf "Please enter your new password:\n"
read password
pwdlenght=$(echo ${#password})
if [ "$pwdminlenght" -gt "$pwdlenght" ] ; then
printf "Error, new password to short must be > 8 characters\n"
passwordok=false
fi
if [ "$passwordok" = "true" ] ; then
ldappasswd -x -w $currentpassword -s $password -D uid=$username,ou=int,dc=yourcompany,dc=org -h hostnameofyourldapserver.org
fi
stty echo