前言:

学习或生产工作中,你可能遇到批量创建 Centos 用户的情况,一段shell 脚本来帮助你:

如何做:

0,我们把脚本保存为 ac.sh;

1,提前建立一个 accountadd.txt 的文本,一行一个写入需要建立的用户名;

2,使用 # ./ac.sh create 来执行批量创建;

3,密码会存入当前目录的 outputpw.txt;

4,使用 # ./ac.sh delete 来执行批量删除;

脚本:

# 0. 这个shell 会为你批量建立 user 账号;# 1. 检查 "accountadd.txt" 是否存在? 你需要先手工建立这个文本;# 2. "accountadd.txt" 中一个用户名一行;# 3. 使用 openssl 创建 users password;# 4. 设定新用户初次登录必须修改密码;# 0. userinput usergroup="" # 需要建立新组,在这里添加;pwmech="openssl" homeperm="no" # if "yes" then it will modify home dir permission to 711 # 1. check the accountadd.txt file action="${1}" # 命令动作,建立用户使用"create",删除用户使用 "delete" ;if [ ! -f accountadd.txt ]; then echo "没有 accountadd.txt 文件!" exit 1fi # 2. 执行 [ "${usergroup}" != "" ] && groupadd -r ${usergroup}rm -f outputpw.txtusernames=$(cat accountadd.txt) for username in ${usernames}do case ${action} in "create") [ "${usergroup}" != "" ] && usegrp=" -G ${usergroup} " || usegrp="" useradd ${usegrp} ${username} # 新增账号; [ "${pwmech}" == "openssl" ] && usepw=$(openssl rand -base64 6) || usepw=${username} echo ${usepw} | passwd --stdin ${username} # 创建密码; chage -d 0 ${username}  # 设定新用户初次登录必须修改密码; [ "${homeperm}" == "yes" ] && chmod 711 /home/${username} echo "username=${username}, password=${usepw}" >> outputpw.txt ;; "delete") echo "deleting ${username}" userdel -r ${username} ;; *) echo "Usage: $0 [create|delete]" ;; esacdone

执行创建:

# ./ac.sh create

查看密码:

# cat outputpw.txt

批量删除:

# ./ac.sh delete

代码高亮截图:

还要注意:

如果你在windows下复制粘贴编辑脚本代码,

若出现异常情况,请把 windows 换行符 替换成 linux 换行符:

以上面的脚本举例,执行下面代码转换换行符:

# sed -i 's///' ac.sh
  • window下默认是
  • linux下是
  • unix下是

人的生命是有限的,只有知识永存!

为什么脚本执行一行就不动了_Centos7 批量创建用户账号脚本相关推荐

  1. 为什么脚本执行一行就不动了_在Linux中通过expect工具实现脚本的自动交互

    expect是建立在tcl基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信. 1 安装expect工具 expect是建立在tcl基础上的一个自动化交互套 ...

  2. 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...

    通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本   版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...

  3. bat脚本执行exe文件_将批处理(BAT)脚本转换为可执行(EXE)文件

    bat脚本执行exe文件 When you get down to it, batch files and executable files work pretty much the same way ...

  4. Linux 批量创建用户脚本

    创建名为test.sh的脚本文件,实现批量创建99个用户,用户名为user1,user2-user99 所有用户密码为 chinaskill20! 验证:cat /etc/passwd 脚本解析: f ...

  5. mysql脚本执行中文乱码_MySQL从命令行导入SQL脚本时出现中文乱码的解决方法

    本文实例讲述了MySQL从命令行导入SQL脚本时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 在图形界面管理工具 MySql Query Browser中打开脚本(脚本包括建库.建表.添加 ...

  6. bin文件怎么转换成文本文档_Python脚本4:根据txt文本,批量创建文件夹

    背景:深度学习图像分类的时候,有许多的标签类.1000个标签就需要创建1000个文件夹,文件夹里面放入对应的图像.不可能一个一个右击创建文件夹,所以有了今天的脚本.根据txt文本每一行的类别,创建文件 ...

  7. c++ _mkdir无法创建文件夹_Python脚本4:根据txt文本,批量创建文件夹

    背景:深度学习图像分类的时候,有许多的标签类.1000个标签就需要创建1000个文件夹,文件夹里面放入对应的图像.不可能一个一个右击创建文件夹,所以有了今天的脚本.根据txt文本每一行的类别,创建文件 ...

  8. windows批量创建用户脚本

    for /L %%i in (1,1,3) do net user "test"%%i 123 /add 表示执行如下命令: net user test1 123 /add net ...

  9. MonoBehaviour Lifecycle(生命周期/脚本执行顺序)

    脚本执行顺序 前言 搭建一个示例来验证Unity脚本的执行顺序,大概测试以下部分: 物理方面(Physics) 渲染(Scene rendering) 输入事件(InputEvent) 流程图 Uni ...

最新文章

  1. python数字计算公式_Python中数字以及算数运算符的相关使用
  2. 第七章 脚本参数的传递
  3. 全国计算机运用计算机绘图考试,计算机绘图期末考试题库
  4. PHP删除排序数组中的重复项,每日一道算法:删除排序数组中的重复项
  5. html改变微信标题栏颜色,带你了解微信在线编辑器的颜色样式修改
  6. 鸟哥的私房菜-基础篇学习-文件与目录管理-2-1
  7. android开启前台服务_Android 知识点必知之ANR与OOM
  8. Mysql触发器与事务
  9. [UESTC SC T1] 最大疯子树
  10. 【MATLAB图像融合】[18]双通道PCNN模型实现图像融合
  11. 计算机一级中替换,08年计算机一级辅导:实战WPS转义符在查找替换中的应用
  12. 淘宝美工设计师细说何为天猫透明背景
  13. ZooKeeper实际应用案例-开发实战
  14. Flink中Table Api和SQL(二)
  15. 空手套白狼之——兼职中介
  16. 乐得瑞LDR6282B 支持双C口盲插便携显示器驱动板方案
  17. 房产经纪龙头居安思危孵化「贝壳」,如何用数字化解找房之痛?
  18. Unity3D编辑器插件开发
  19. HTML 与HTML5 常用标签
  20. 搭建p2p文件服务器,linux 搭建 p2p 服务器

热门文章

  1. wxWidgets:wxDataObject概述
  2. boost::mp11::mp_count_if_q相关用法的测试程序
  3. boost的chrono模块模拟线程接口的测试程序
  4. ITK:计算矢量图像中每个像素的大小以生成大小图像
  5. ITK:基于零交叉的边缘检测器
  6. C语言创建map,遍历map
  7. VTK:灯光之Light
  8. 在iOS中安装OpenCV
  9. Qt Linguist 发行管理Release Manager
  10. C语言链表返回第n个到最后的节点的算法(附完整源码)