Wednesday, October 24, 2018

Script to create svn account

#!/usr/bin/env bash
PASSWORDFILE=/cm/websvn/conf/passwd
TEMPFILE=/tmp/$$
ALPHA="[A-z]"
NUM="[0-9]"
ALPHANUM="[A-z|0-9]"


if [ ${#} = 0 ]
then
    echo "You need to specify at least one username."
    exit
fi

# Allow for multiple names blank-separated (as usual) or comma-separated
for U in `echo ${*} | sed -e "s;,; ;g"`
do
    # Verify username is the right syntax (lowercase it first)
    USER=`echo ${U}| tr "[A-Z]" "[a-z]" | sed -e "s;@abc.com$;;"`
    echo ${USER} | grep "^${ALPHA}${ALPHA}${NUM}${NUM}${NUM}${ALPHANUM}$" >/dev/null 2>&1
    if [ ${?} = 0 ]
    then
        grep "^${USER}[     ]*=" ${PASSWORDFILE} >/dev/null 2>&1
        if [ ${?} != 0 ]
        then
            echo "Check this person's validity at http://webphone.abc.com/cgi-bin/ladder.pl?id=${USER}"
            echo -n "Add ${USER}?> "
            read INPUT
            if [ ! -z ${INPUT} ] && [ ${INPUT} = 'y' ]
            then
                touch ${TEMPFILE} ; chmod 600 ${TEMPFILE}
                ssh ecombuild02 "< /dev/urandom  tr -cd 'A-Za-z0-9' | head -c\${1:-8} ; echo" >${TEMPFILE} 2>/dev/null
                PW=`cat ${TEMPFILE}`
                rm -f ${TEMPFILE}
                echo "${USER} = ${PW}" >> ${PASSWORDFILE}
                echo -n "Subversion (svn) account created for ${USER}. "
                sendSvnPassword.sh ${USER}
            else
                echo "Skipped ${USER}"
            fi
        else
            echo -n "${USER} already has an account, re-send password?> "
            read INPUT
            if [ ! -z ${INPUT} ] && [ ${INPUT} = 'y' ]
            then
                sendSvnPassword.sh ${USER}
            fi
        fi
    else
        echo "${USER} is not the correct syntax for a username, ignoring."
    fi
    echo
done

No comments:

Post a Comment

Hyderabad Trip - Best Places to visit

 Best Places to Visit  in Hyderabad 1.        1. Golconda Fort Maps Link :   https://www.google.com/maps/dir/Aparna+Serene+Park,+Masj...