Interactive Linux Shell Script To Create New Linux User

March 24, 2013 | By
| 2 Replies More

Script helps to remember all main points during creating user and quickly create new user. If admin need to create 100 users at once this script could be helpful. Script use command useradd with keys and groupadd.

more shell scripts

Shell Script

#!/bin/bash

while [ x$username = "x" ]; do

read -p "Please enter the username you wish to create : " username

if id -u $username >/dev/null 2>&1; then

echo "User already exists"

username=""

fi

done

while [ x$group = "x" ]; do

read -p "Please enter the primary group. If group not exist, it will be created : " group

if id -g $group >/dev/null 2>&1; then

echo "Group exist"

else

groupadd $group

fi

done

read -p "Please enter bash [/bin/bash] : " bash

if [ x"$bash" = "x" ]; then

bash="/bin/bash"

fi

read -p "Please enter homedir [/home/$username] : " homedir

if [ x"$homedir" = "x" ]; then

homedir="/home/$username"

fi

read -p "Please confirm [y/n]" confirm

if [ "$confirm" = "y" ]; then

useradd -g $group -s $bash -d $homedir -m $username

fi

Sample Result

sudo ./linux_user.sh

Please enter the username you wish to create : test

Please enter the primary group. If group not exist, it will be created : test

Please enter bash [/bin/bash] :

Please enter homedir [/home/test] :

Please confirm [y/n]y

22:12:58 [test@Desktop] :~ id test

uid=1003(test) gid=1003(test) groups=1003(test)

Learn Above Script Line by Line

#Write to console ask to enter group and save input to group variable

read -p "Please enter the primary group. If group not exist, it will be created : " group

#check if group already exist

if id -g $group >/dev/null 2>&1; then

#just warn that group already exist

echo "Group exist"

else

#if group not exist – create one more

groupadd $group

fi

#end of while loop

done

#ask to enter preferred bash

read -p "Please enter bash [/bin/bash] : " bash

#check if no input

if [ x"$bash" = "x" ]; then

#if no input, use default bash

bash="/bin/bash"

fi

#ask to enter preferred homedir

read -p "Please enter homedir [/home/$username] : " homedir

#check if no input

if [ x"$homedir" = "x" ]; then

#if no input , use default homedir

homedir="/home/$username"

fi

#ask to confirm all inputs

read -p "Please confirm [y/n]" confirm

#if input y

if [ "$confirm" = "y" ]; then

#command to add user with all entered info

useradd -g $group -s $bash -d $homedir -m $username

fi

Filed Under : SHELL SCRIPTS

Free Linux Ebook to Download

Comments (2)

Trackback URL | Comments RSS Feed

  1. Andrew Meyer says:

    how about a script that does this on solaris 8,9,10,11 and across multiple servers?

Leave a Reply

Commenting Policy:
Promotion of your products ? Comment gets deleted.
All comments are subject to moderation.