文章目录
- 一、简单需求实现流程
- 1. 添加用户
- 2. 给用户设置密码
- 二、企业需求实现流程
- 2.1. 脚本准备工作
- 2.2. 企业级脚本
- 2.2. 需求说明
- 2.3. 企业级脚本说明
- 三、实战
- 3.1. 运行脚本
- 3.2. 查看创建的用户
- 3.3. 查看文件中的用户和密码信息
一、简单需求实现流程
背景:新入职100人,每个人需要登录服务器
简单需求实现流程:1. 添加用户2. 给用户设置密码企业需求实现流程:1. 添加用户2. 给用户设置密码
1. 添加用户
#创建用户名为zs的用户
useradd zs
2. 给用户设置密码
#给zs用户设置密码为123456
echo 123456 |passwd --stdin zs
USER_LIST=$@
USER_FILE=./user.info
for USER in $USER_LIST; doif ! id $USER &>/dev/null; thenPASS=123456useradd $USERecho $PASS |passwd --stdin $USER &>/dev/nullecho "$USER $PASS" >> $USER_FILEecho "$USER User create successful."elseecho "$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; doif ! id $USER &>/dev/null; thenPASS=$(echo $RANDOM |md5sum |cut -c 1-8)useradd $USERecho $PASS |passwd --stdin $USER &>/dev/nullecho "$USER $PASS" >> $USER_FILEecho "$USER User create successful."elseecho "$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. 查看创建的用户
cd /home
ll
3.3. 查看文件中的用户和密码信息
cd ~/shell_scripts/
ll
cat user.info