#!/bin/bash
#add users
for name in `cat /usr/local/shfile/name_pwd.txt|cut -d " " -f 1`;do
#从文件中获取密码
#add users
for name in `cat /usr/local/shfile/name_pwd.txt|cut -d " " -f 1`;do
#从文件中获取密码
pswd=`cat /usr/local/shfile/name_pwd.txt|awk -v name="${name}" '{if($1 == name) print$2}'`
home=`cat /usr/local/shfile/name_pwd.txt|awk -v name="${name}" '{if($1 == name) print$3}'`
if [ ! -d $( dirname ${home} ) ];then
mkdir -p $( dirname ${home} )
fi
#判断用户名和密码是否为空,有一为空就退出循环
if [ -n "${name}" ]&&[ -n "${pswd}" ];then
#判断用户是否已经存在,存在的话就不添加
cat /etc/passwd|grep "^${name}">/dev/null
if [ $? -ne 0 ];then
#添加用户
useradd -d ${home} ${name}
#判断密码长度是否足够,小于6位的密码为不合法的
pswd_len=`echo ${#pswd}`
if [ "${pswd_len}" -lt 6 ];then
echo "password ${pswd} is too short"
else
#给新添加的用户修改密码
echo ${pswd}|passwd --stdin ${name}
fi
else
#提示当前用户已存在
echo "${name} is exist"
fi
fi
done
#End of file
用户_密码文件
[root@192 shfile]# cat name_pwd.txt
etnet1 etnet123 /home/etnet1
etnet2 etnet234 /home/etnet2
etnet3 etnet345 /home/etnet3
home=`cat /usr/local/shfile/name_pwd.txt|awk -v name="${name}" '{if($1 == name) print$3}'`
if [ ! -d $( dirname ${home} ) ];then
mkdir -p $( dirname ${home} )
fi
#判断用户名和密码是否为空,有一为空就退出循环
if [ -n "${name}" ]&&[ -n "${pswd}" ];then
#判断用户是否已经存在,存在的话就不添加
cat /etc/passwd|grep "^${name}">/dev/null
if [ $? -ne 0 ];then
#添加用户
useradd -d ${home} ${name}
#判断密码长度是否足够,小于6位的密码为不合法的
pswd_len=`echo ${#pswd}`
if [ "${pswd_len}" -lt 6 ];then
echo "password ${pswd} is too short"
else
#给新添加的用户修改密码
echo ${pswd}|passwd --stdin ${name}
fi
else
#提示当前用户已存在
echo "${name} is exist"
fi
fi
done
#End of file
用户_密码文件
[root@192 shfile]# cat name_pwd.txt
etnet1 etnet123 /home/etnet1
etnet2 etnet234 /home/etnet2
etnet3 etnet345 /home/etnet3
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27181165/viewspace-775751/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27181165/viewspace-775751/