Please whitelist cPanel in your adblocker so that you’re able to see our version release promotions, thanks!

The Community Forums

Interact with an entire community of cPanel & WHM users!

EASY SCRIPT: Change main username on an account

Discussion in 'General Discussion' started by brandonk, Mar 2, 2003.

  1. brandonk

    brandonk Well-Known Member

    Aug 13, 2001
    Likes Received:
    Trophy Points:
    I just finished transferring some accounts over to a new server. Unfortunately many of the accounts that I transferred had over 8 characters in their username (they were transferred from Ensim) so a ton of them failed.

    I compiled this little script to change the main username of a domain, as most of you know this feature is not available in WHM. The script changes the username and ALSO goes into every single file of theirs and changes the old path (/home/old user) to the new (/home/newuser) which should make the change unnoticeable to your clients (especially if they have cgi). It worked flawlessly for me.


    # old username
    $username1 =

    # new username
    $username2 =

    # edit /etc/passwd
    perl -pi -e "s/$username1/$username2/g" /etc/passwd

    # edit /etc/shadow
    perl -pi -e "s/$username1/$username2/g" /etc/shadow

    # edit /etc/group
    perl -pi -e "s/$username1/$username2/g" /etc/group

    # chaning cpanel file
    mv /var/cpanel/users/$username1 /var/cpanel/users/$username2

    # editing httpd.conf
    perl -pi -e "s/User $username1/User $username2/g" /usr/local/apache/conf/httpd.conf
    perl -pi -e "s/Group $username1/Group $username2/g" /usr/local/apache/conf/httpd.conf
    perl -pi -e "s&/home/$username1/&/home/$username2/&g" /usr/local/apache/conf/httpd.conf

    # moving main directory
    mv /home/$username1 /home/$username2

    # replacing every instance of /home/username in every file in the new main directory
    # this will fix most cgi problems with changing directory paths
    # if you don't need this comment it out as it takes awhile
    find /home/$username1 -type f -exec perl -pi -e "s/\/home\/$username1/\/home\/$username2/g" {} \;

    # setting permissions
    chown -R $username2 /home/$username2
    chgrp -R $username2 /home/$username2

    # running necessary cpanel updates

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice