Skip to content

Instantly share code, notes, and snippets.

@rushipkar90
Created November 20, 2015 00:08
Show Gist options
  • Save rushipkar90/a490ca72855c84010523 to your computer and use it in GitHub Desktop.
Save rushipkar90/a490ca72855c84010523 to your computer and use it in GitHub Desktop.
updatetestpassword.sh
#/bin/bash
echo > testpasswd;
genpasswd() {
tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12 | xargs
}
cat /dev/null > mailaccounts.txt
CP_ACCOUNTS=`ls -1A /var/cpanel/users/ | grep -v "root" | grep -v "system"`
for CP_USER in `echo -n $CP_ACCOUNTS`
do
USER_DOMAIN=`grep -i ^dns /var/cpanel/users/$CP_USER |cut -d= -f2`
maindomain=`cat /etc/trueuserdomains | grep "$CP_USER" | cut -d : -f1`;
homedir=`cat /var/cpanel/userdata/"$CP_USER"/"$maindomain" | grep homedir | cut -d / -f2`;
for DOMAIN in `echo -n "$USER_DOMAIN"`
do
#cp -ar /$homedir/$CP_USER/etc/$DOMAIN/shadow /$homedir/$CP_USER/etc/$DOMAIN/shadow_old;
SHADOW_FILE="/$homedir/$CP_USER/etc/$DOMAIN/shadow"
if [ -f $SHADOW_FILE ] && [ -s $SHADOW_FILE ]
then
for shadow in `cat $SHADOW_FILE | cut -d= -f2 | grep -w "test:"`
do
cp -ar /$homedir/$CP_USER/etc/$DOMAIN/shadow /$homedir/$CP_USER/etc/$DOMAIN/shadow_old;
echo $SHADOW_FILE >> usershadowfile.txt;
oldpasswd=`echo $shadow | cut -d : -f2`;
echo "$shadow : $oldpasswd" >> oldtestemailpasswd.txt;
NEW_PASS=$(genpasswd)
MD5_PASS=$(openssl passwd -1 $NEW_PASS)
#user=$(echo $shadow | cut -d":" -f1)
#rest=$(echo $shadow | cut -d":" -f3-)
echo $NEW_PASS >> testpasswd;
replace $oldpasswd $MD5_PASS -- $SHADOW_FILE;
done
fi
done
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment