#!/bin/bash
#Usage: ThisSH filename [groupname]
#This shell script is used to batch add user, it must have filename argument.
#If have groupname, this shell script will create new user and join this group.
#Author: Mach
#Modify time: 12.11/2015
if [ -z $1 ]; then
echo "ERROR: Please input file name."
exit 1
elif [ ! -f $1 ]; then
echo "ERROR: File $1 non-existent."
exit 1
else
for UN in $( cat $1 )
do
id $UN &> /dev/null
if [ $? = 0 ]; then
echo "ERROR: User $UN already exists."
exit 1
fi
done
fi
case $# in
1)
for NM in $( cat $1 )
do
useradd $NM && echo "Add user $NM success."
id $NM >> ./newadduserlist.log
echo "mima" | passwd --stdin $NM >> ./newadduserlist.log
echo -e "\n" >> ./newadduserlist.log
done
;;
2)
grep "^$2" /etc/group &> /dev/null
if [ ! $? = 0 ]; then
useradd -M $2 && passwd -l $2 &> /dev/null && echo "Add group $2 success."
id $2 >> ./newadduserlist.log
passwd -S $2 >> ./newadduserlist.log
echo -e "Create group and maintain UID corresponding relationship.\n" >> ./newadduserlist.log
fi
for NM in $( cat $1 )
do
useradd -G $2 $NM && echo "Add user $NM and additional to group $2 success."
id $NM >> ./newadduserlist.log
echo "mima" | passwd --stdin $NM >> ./newadduserlist.log
echo -e "\n" >> ./newadduserlist.log
done
;;
esac