文章目录

  • 一、简单需求实现流程
    • 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

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

  1. Linux Shell脚本专栏_批量主机远程执行命令脚本_08

    文章目录 1. 安装expect 2. 脚本制作 3. 赋予权限 4. 运行脚本 5. 直接运行脚本 6. vmstat测试 1. 安装expect [root@localhost ~]# yum i ...

  2. Linux Shell脚本专栏_批量检测网站是否异常脚本_08

    文章目录 1. 脚本制作 2. 运行脚本 3. 脚本进化动态参数传递 4. 运行脚本 5. 脚本分解 1. 脚本制作 #!/bin/bash URL_LIST=$@ for URL in $URL_L ...

  3. linux系统下shell命令使用通配符批量创建文件或目录

    linux系统下shell命令使用通配符批量创建文件或目录 批量创建log文件 批量创建文件夹 批量删除目录 批量创建log文件 touch {1..5}.log 批量创建文件夹 mkdir dir_ ...

  4. linux一条命令添加用户并设置密码,linux中如何通过命令行来添加用户并设置密码...

    linux中如何通过命令行来添加用户并设置密码 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 LINUX中如何通过命令行来添加用户 ...

  5. Linux Shell脚本专栏_监控100台服务器磁盘利用率脚本_07

    文章目录 监控100台服务器磁盘利用率脚本 1. 远程连接生成sshkey 2. 复制ssh公钥到目标服务器 3. 登录目标服务器查看 4. 私钥免登录 5. 192.168.43.134 服务器创建 ...

  6. Linux Shell脚本专栏_服务器系统配置初始化脚本_01

    文章目录 一.服务器系统配置初始化 1. 设置时区并同步时间 ① 脚本编写 ②脚本说明 2. 禁用selinux ① 脚本编写 ②脚本说明 3. 关闭防火墙 ① 脚本编写 ②脚本说明 4. 历史命令显 ...

  7. linux shell 宏定义_一篇教会你写90%的shell脚本

    shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls.cd.pwd等等.总结来说,Shell是一个命令解释器,它通过接 ...

  8. 批量创建100个文件夹,只需10秒~

    前几天同事问我怎么批量创建文件夹,在这里通过一些操作给大家分享一下,只需10秒便可创建大量的文件夹 例如:我们以梁山108位好汉的名称为例,要求分别以每个人名创建一个文件夹,相当于需要创建108个文件 ...

  9. ae批量修改字体_批量修改文字样式字体AE脚本CreativeDojo Dojo Text Updater V1.0

    批量修改文字样式字体AE脚本CreativeDojo Dojo Text Updater V1.0 Dojo Text Updater是一个由CreativeDojo开发的After Effects脚 ...

最新文章

  1. linux c warning 'XXX' declared 'static' but never defined解决方法
  2. linux 编译zbar
  3. mysql log table_mysqlbinlog功能扩展--table参数
  4. 【Python基础入门系列】第07天:Python 数据结构--序列
  5. Linux网络 - 数据包的接收过程
  6. JAVA过滤器的使用(Filter)
  7. 基于XML的AOP配置-转
  8. iOS build 编译错误 Failed to emit precompiled header for bridging header
  9. python dynamic array
  10. 什么是UDS诊断协议?
  11. 苏宁!你还挺得过去吗?(苏宁大幅裁员)
  12. 保姆级讲解Transformer
  13. 启动虚拟机报错:无法获取 vmci 驱动程序版本句柄无效解决方法
  14. 公章,加盖公章,英语怎么说?
  15. Syn-QG: Syntactic and Shallow S emantic Rules for Question Generation阅读笔记
  16. Anaconda各个版本清华镜像站下载
  17. vue中如何展现快速增长数字的动画
  18. 仿微信换头像(旋转、还原、裁剪、缩放等)
  19. Wdf框架之WdfObject状态机(3)-前篇
  20. 一个创业失败N次还在路上的男人

热门文章

  1. 德国力挺华为:建5G网络不排除任何设备厂商
  2. Golang 反射操作整理
  3. 数据结构--赫夫曼树及其应用
  4. SSDB 配置文件详解
  5. java中常用的String方法
  6. 昂贵的聘礼 poj 1062 dijsk
  7. C/C++程序员必须熟悉的开源库
  8. Sentry : Spark-sql 读取hive数据 权限问题
  9. 相机标定原理和opencv代码解析
  10. 日志服务Dashboard加速