Linux Shell脚本专栏_批量创建100用户并设置密码脚本_03

一、简单需求实现流程

背景:新入职100人,每个人需要登录服务器
简单需求实现流程:
 1. 添加用户
 2. 给用户设置密码

企业需求实现流程:
 1. 添加用户
 2. 给用户设置密码

1. 添加用户

#创建用户名为zs的用户
useradd zs

2. 给用户设置密码

#给zs用户设置密码为123456
echo 123456 |passwd --stdin zs
在这里插入代码片

二、企业需求实现流程

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. 查看创建的用户

cd /home
ll

在这里插入图片描述

3.3. 查看文件中的用户和密码信息

cd ~/shell_scripts/
ll
cat user.info

在这里插入图片描述

发布了858 篇原创文章 · 获赞 114 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/weixin_40816738/article/details/104478964