Linux Shell脚本专栏_批量创建100用户并设置密码脚本_03
原创
©著作权归作者所有:来自51CTO博客作者gblfy的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
一、简单需求实现流程
背景:新入职100人,每个人需要登录服务器
简单需求实现流程:
1. 添加用户
2. 给用户设置密码
企业需求实现流程:
1. 添加用户
2. 给用户设置密码
1. 添加用户
2. 给用户设置密码
#给zs用户设置密码为123456
echo 123456 |passwd --stdin zs
USER_LIST=$@
USER_FILE=./user.info
for USER in $USER_LIST; do
if ! id $USER &>/dev/null; then
PASS=123456
useradd $USER
echo $PASS |passwd --stdin $USER &>/dev/null
echo "$USER $PASS" >> $USER_FILE
echo "$USER User create successful."
else
echo "$USER User already exists!"
fi
done
二、企业需求实现流程
2.1. 脚本准备工作
Linux 生成随机数
#Linux 生成简单随机数
echo $RANDOM
#Linux 生成md5随机数
echo $RANDOM |md5sum
##Linux 生成md5随机数,并截取前8位字符
echo $RANDOM |md5sum |cut -c 1-8
2.2. 企业级脚本
#!/bin/bash
USER_LIST=$@
USER_FILE=./user.info
for USER in $USER_LIST; do
if ! id $USER &>/dev/null; then
PASS=$(echo $RANDOM |md5sum |cut -c 1-8)
useradd $USER
echo $PASS |passwd --stdin $USER &>/dev/null
echo "$USER $PASS" >> $USER_FILE
echo "$USER User create successful."
else
echo "$USER User already exists!"
fi
done
2.2. 需求说明
企业级需求脚本:
1.循环创建传入的用户
2.给创建的用户设置随机md5密码
3.将用户和密码保存到指定的文件中,便于管理
4. 用户存在提示“$USER User create successful.”
5. 用户不存在提示“$USER User already exists!”
2.3. 企业级脚本说明
命令
| 说明
|
USER_FILE
| 文件的绝对路径,用于写入内容
|
USER_LIST
| 一个变量名 只为进行传递参数值
|
$@
| 接收传入的所有位置的参数
|
for USER in $USER_LIST
| 循环传入的参数
|
if ! id $USER &>/dev/null
| 对结果判断 走不同分支
|
PASS=$(echo $RANDOM
| md5sum
|
useradd $USER
| 创建用户
|
echo $PASS
| passwd --stdin $USER &>/dev/null
|
echo “$USER $PASS” >> $USER_FILE
| 将用户和密码写入到文件中
|
echo “$USER User create successful.”
| 操作输出语句用于提醒而已
|
三、实战
3.1. 运行脚本
背景:zs用户已经存在
#格式 脚本名 用户1 用户2 ----用户n
./3.sh zs ly yx
3.2. 查看创建的用户
3.3. 查看文件中的用户和密码信息
cd ~/shell_scripts/
ll
cat user.info