2分钟

课程背景

实验预计耗时:45 分钟

1. 课程背景

1.1 课程目的

本课程的目的是让学员掌握如何在Linux中通过编写Shell脚本实现用户的批量创建,并让学员掌握Shell脚本编写与命令调用的基本原理与思路,从而能够根据需要修改脚本内容,达到批量设置用户密码、批量配置用户指定属性的目的。Linux是企业服务器最广泛安装和使用的操作系统,也是腾讯云服务器CVM上最常见的操作系统之一。Linux设计之初就被定位成多用户、多任务的操作系统,在日常应用和测试过程中,经常需要为不同的应用和服务创建不同的用户。本课程会介绍Linux中用户、用户属性、用户密码的配置,并介绍Linux Bash Shell中流程控制、文件读取与字符处理的基本方法,最终帮助学员理解和实现批量创建用户和改写脚本的具体操作,并在此基础上理解和掌握Linux Shell脚本编程技巧。

1.2 课前知识准备

1.相关概念

腾讯云相关:

  • 腾讯云服务器CVM:腾讯云服务器CVM(Cloud Virtual Machine)是腾讯云提供的可扩展的计算服务,可用于实现传统自建服务器的几乎所有功能。使用CVM避免了使用传统服务器时需要预估资源用量及前期投入,帮助用户在短时间内快速启动任意数量的云服务器并即时部署应用程序。腾讯云CVM支持用户自定义各种资源,包括自定义CPU、内存、硬盘、网络、安全等等,并可以在需求发生变化时快捷方便地调整它们,以适应业务的弹性需求。相关云服务器概念可以参考腾讯云文档中心云服务器概述

系统相关:

  • Linux:Linux是在Unix操作系统基础上开发出来的类Unix操作系统,具备开源、稳定、安全、高效的优良特性,被广泛应用于全球各大企业IT环境。常用的Linux发行版包括CentOS、Ubuntu等多种版本,用户也可以根据自己的实际需要对Linux进行个性化定制开发,以满足业务的各种需求。

2.相关原理

  • 在腾讯云上创建云服务器,选择安装Linux操作系统,并通过Shell脚本自动化批量创建用户。其中Shell脚本可完成重复性的创建用户、设置密码、设置属性等操作,但涉及到的用户名、密码以及具体属性仍需要用户指定。用户可根据需要将上述数据提前写入文本文件中交给Shell脚本工具读取,例如在人力资源等部门获取Excel人员信息表格并导入Linux中。此外需要考虑和规划文件的格式,如放置在几个文件中,用户名、密码、属性如何对应,以及分隔符的选择等问题,最终确保Linux Shell脚本工具能够准确无误读到对应数据并交给循环语句处理,不出现数据错位等问题。
  • Linux中(以常见CentOS等发行版为例)新建用户使用useradd命令,设置密码使用passwd命令,设置属性可通过useraddusermod等方式实现。而在批量操作中,需要循环进行上述操作,可通过编写while循环或for循环,并使用输入重定向、预定义参数等方式,由Shell脚本自动循环读取用户列表,并在每次循环中把用户名、密码、属性等信息做拆分,分别用不同命令处理。
  • 需考虑到的异常情况包括:1、用户列表文件错误(文件为空、文件不存在等),可通过Bash Shell内置的文件判断功能进行判断处理;2、要创建的用户已存在,此时再执行passwd命令会把已存在用户的密码重置,需要通过Bash Shell中的返回值等方式判断并处理。
实验原理图