linux中批量添加用户
#!/bin/bash
addgroup_fun()
{
local Group_id=$1 Group_name=$2
if ! groupadd -g Group_id Group_name >/dev/null
echo "Add group fail $Group_name"
fi
return 0
}
adduser_fun()
{
local User_id=$1 Group_id=$2 Home_dir=$3 User_name=$4
if ! useradd -u $User_id -g $Group_id -d $Home_dir $User_name >/dev/null
echo "Add user fail $User_name"
fi
return 0
}
create_home_dir_fun()
{
local Home_dir=$1
if [ ! -d $Home_dir ]; then
mkdir -p $( dirname $Home_dir ) >/dev/null 2>&1
fi
return 0
}
while read line
do
for i in username groupname uid gid homedir passwd
do
n=1
eval ${i}=$( echo $line | cut -d, -f$n )
eval echo -n $i "=" \$$i
n=$(( $n+1 ))
done
addgroup_fun $gid $groupname && create_home_dir_fun $homedir && adduser_fun $uid $gid $homedir $username && echo $passwd | passwd --stdin $username
done <.>