#!/bin/bash
#说明:
#根据部门名称批量创建账号
#如之前此部门已创建过账号,在之前序号的基础上继续创建
#序号为:00-99
#账号格式为:部门名称+序号
#默认密码为:账号+123
#删除uid大于1000的账号
#deluser=$(awk -F ":" '$2>1000 {print $1}' /etc/passwd)
#echo $deluser
#for i in $deluser
#do
#userdel -r $i
#done
startID=0
stopID=0
existnum=0
#获取部门名称和创建的账号数
until echo -e $dep | egrep "[[:alnum:]]+" >& /dev/null
do
read -p"请输入部门:" dep
#判断部门是否已批量创建过账号
existnum=`awk -F ":" '$3>1000 {print $1}' /etc/passwd |grep $dep|wc -l`
if (($existnum != 0))
then
echo "此部门已批量创建账号${existnum}个。"
startID=$existnum
fi
done
until echo -e $count | egrep "[[:digit:]]+" >& /dev/null
do
#单部门最多创建100个账号
read -p"创建用户数(<=100):" count
stopID=`expr ${startID} + ${count}`
if [ $stopID -gt 100 ]
then
echo "此部门用户数超过100!"
exit
fi
done
while (($startID < $stopID))
do
#统一账号格式
if (("$startID" < 10))
then
username=${dep}"0"${startID}
else
username=${dep}${startID}
fi
#创建账号
useradd $username
echo "${username}123"|passwd $username --stdin >& /dev/null
echo "创建$username成功!"
startID=`expr $startID + 1`
done
Linux中批量创建账号
最新推荐文章于 2024-01-12 04:26:13 发布