Linux menu

Wednesday, September 17, 2014

Linux Shell Script To Create New Linux User's

#!/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

No comments: