运行环境
CentOS6.9、Xshell5
序言
我们在须要创建多个用户的时侯,使用手工单独创建是比较花费精力的事情实验名称:linux用户管理,我们可以通过shell脚本实现批量添加用户,实现指定数目用户、创建用户默认名、创建默认密码。
正文①关键命令
1、read命令从按键读取变量的值,一般用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都须要使用空格隔开。
read -p "text" #打印提示(text),等待输入,并将输入存储在REPLY中。
read -t 3 #指定读取等待时间为3秒。
2、useradd命令用于Linux中创建的新的系统用户。useradd可拿来构建用户账号。账号建好以后,再用passwd设定账号的密码.而可用userdel删掉账号。使用useradd指令所构建的账号,实际上是保存在/etc/passwd文本文件中。
useradd user001 #添加一个用户名为user001的用户
②脚本文件
1、创建一个脚本文件
mkdir sh #创建一个名为sh的文件夹用于存放脚本文件
vim useradd.sh #创建一个脚本文件
2、编写脚本程序
#!/bin/bash
# 批量添加指定数量的用户
# 创建用户默认名
# 创建默认密码。
# 输入用户名,输入信息存入name变量中,限制30s的输入时间
read -p "Please input user name:" -t 30 name
# 输入需要创建的用户数量,存入num中,限制30s输入时间
read -p "Please input the number of users:" -t 30 num
# 输入需要创建的默认密码,存入pass中,限制30s输入时间
read -p "Please input the password of users:" -t 30 pass
# 用户名、用户数量、默认密码都输入成功之后
if [ ! -z "$name" -a ! -z "$num" -a ! -z "$pass" ]
then
# 输入的num变量为数值类型
y=$(echo $num | sed 's/[0-9]//g')
if [ -z "$y"]
then
# 创建用户
for (( i=1;i<=$num;i=i+1))
do
# 用户名以输入用户名+序号组成
/usr/sbin/useradd $name$i &> /dev/null
# 创建默认密码
echo $pass | /usr/bin/passwd --stdin $name$i &> /dev/null
done
fi
fi
3、更改脚本权限并执行
cd /root/sh/ # 切换到脚本目录
chmod 755 useradd.sh #更改权限
./useradd.sh #执行脚本
③测试结果
执行脚本后,如果我们的用户名为usertest、数量为20、默认密码为passwdtest
输入相关信息后,脚本执行时间大概几秒钟后实验名称:linux用户管理linux视频,我们就批量创建好了用户linux源代码分析,我们查看一下当前主机用户
cat /etc/passwd # 查看当前用户