#!/bin/ksh # Set (change) a users password export TOPDIR=/usr/local/lib/ldap . ${TOPDIR}/etc/vars if [ ! $LDAPDOMAIN ] then LDAPDOMAIN=$DEFAULTLDAPDOMAIN fi DNDOMAIN=`echo $LDAPDOMAIN | sed -e "s/^/dc=/g" -e "s/\./,dc=/g"` if [ $# -lt 2 ] then echo "Usage: $0 user newpassword" exit 1 else USER=$1 fi TODAY=`dse` NEWPWHASH=`dspw $2 | grep CRYPT | awk ' { print $4 } '` cat ${LDIFTMPLTDIR}/pw-set.ldif | sed -e "s/UID/${USER}/" -e "s/DNDOMAIN/${DNDOMAIN}/" -e "s/TODAY/${TODAY}/" -e "s%PWHASH%${NEWPWHASH}%" > ${WORKDIR}/pw-set-${USER}.ldif ldapmodify -x -w $DIRMGRPW -D "cn=Directory Manager" -h $LDAPSERVER -f ${WORKDIR}/pw-set-${USER}.ldif if [ $? -eq 0 ] then mv ${WORKDIR}/pw-set-${USER}.ldif ${PWCHGSDIR} else echo "Error setting password for $USER" exit 1 fi