本shell脚本用于批量创建Linux用户账号并加入群组

使用环境:在windows中使用Excel编辑好账号、群组,使用Xmanager或其它方式上传至Linux系统,然后使用sh运行该脚本即可。

1. 使用excel准备账号群组文件,A栏为账号名,B栏为其加入的群组名:

2. 将其另存为:adduser.txt(默认使用ANSI编码方式)

3. 使用xmanager等工具将adduser.txt上传至Linux系统中(以/tmp/script/为例)。

4. 预先创建相应群组:

[root@LKCentOS ~]#groupadd group100

[root@LKCentOS ~]#groupadd group200

[root@LKCentOS ~]#groupadd group300

[root@LKCentOS ~]#groupadd group400

(以上也可用script完成)

5. 制作以下script,存为adduser.sh,并在root下运行sh adduser.sh:

#!/bin/bash

#Program:

# This program shows how to create accounts using a text file which include a lot of accounts and groups,etc.

#History:

#2011/11/20 LuoKun V1.0

#If you have any questions or suggestions,please write to luokun0810@hotmail.com.

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

# grep -v '^$' /tmp/script/adduser.txt 将空白行过滤掉;tr -d '\r'去除 DOS 档案留下来的 ^M 断行的符号。;awk '{print $1}'将adduser.txt第一栏(账号)取出。

usernames=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}')

i=0

for username in $usernames

do

#根据$i将adduser.txt中每个账号对应的群组名取出。

i=$((i+1))

groupname=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}'|sed -n "${i}p")

#将账号后面的群组设置为初始群组。

useradd $username -g $groupname

#将每个账号密码都设置成P@ssw0rd,并强制下次登录时修改密码。

echo "P@ssw0rd"|passwd --stdin $username

chage -d 0 $username

echo $username "has been created!"

done

6. 验证:

1) 群组:

2) 账号:

转载于:https://blog.51cto.com/helloit/719830

批量创建Linux用户账号相关推荐

  1. Shell编程面试题4_批量创建Linux用户并设置密码

    老男孩出的Shell编程企业面试题4: 批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机8位字符串). 我的Shell脚本如下: #!/bin/bashfor num i ...

  2. linux批量创建系统,linux系统批量创建用户

    脚本目的:批量创建linux系统用户 说明:要创建用户的主机密码写入到ip.txt文件中 [root@thsf02 scripts]# cat ip.txt 10.165.123.0 10.172.4 ...

  3. shell脚本第一篇——自定义创建用户和批量创建用户

    shell脚本第一篇--自定义创建用户和批量创建用户 1.用shell脚本建立Linux用户 # vim /root/user.sh #!/bin/bash #通过脚本自定义创建用户 read -p ...

  4. Linux操作系统——批量创建用户

    Linux操作系统--批量创建用户 文章目录 Linux操作系统--批量创建用户 第一步:创建组群GID为650的是student的组群 第二步:创建用户信息文件students.txt,并用vim编 ...

  5. linux批量创建用户和密码

    老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: [ro ...

  6. linux实战考试题:批量创建用户和密码(不能使用循环)

    批量创建10个用户,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: [root@oldboy /]# echo stu{01 ...

  7. 为什么脚本执行一行就不动了_Centos7 批量创建用户账号脚本

    前言: 学习或生产工作中,你可能遇到批量创建 Centos 用户的情况,一段shell 脚本来帮助你: 如何做: 0,我们把脚本保存为 ac.sh: 1,提前建立一个 accountadd.txt 的 ...

  8. Linux实战考试题:批量创建用户和密码-看看你会么?

    批量创建10个用户stu01-stu10,并且设置随机8位密码,要求:不能用shell循环(例如:for,while等),只能用linux命令及管道实现. 此题考察的是基础命令的熟练运用,因此,限制了 ...

  9. Linux中批量创建空白文件,在Linux中批量创建和修改文件或目录

    1. 用一条命令直接创建 [fred@Royalmile Auto_Ops]$ touch `seq 10` [fred@Royalmile Auto_Ops]$ ls 1  10  2  3  4  ...

最新文章

  1. TCP/IP 基础知识总结
  2. Qt最新版5.14在Windows环境静态编译安装和部署的完整过程 VS 2019-Qt static link build Windows 32 bit/64 bit
  3. JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式
  4. Linux的概念与体系
  5. nginx配置 yii2 URL重写规则 SSI配置使shtml
  6. 真格量化——依托均线购买期权策略
  7. 学习笔记之数据可视化(二)—— 页面布局(下)
  8. 以下哪些参数不是sqlmap中的_变频器控制中必须要设置哪些参数?
  9. 移动端键盘弹起导致底部按钮上浮解决方案
  10. 2018.12.12 第九章虚拟内存
  11. mysql会话杀不掉_SQL Server会话KILL不掉,一直处于KILLED /ROLLBACK状态情形浅析
  12. 小程序中添加客服按钮contact-button
  13. 接收邮件的服务器称为,接收邮件服务器
  14. hscan扫描mysql代码_redis 迭代命令SCAN、SSCAN、HSCAN、ZSCAN
  15. 广告管理系统的UML分析与设计
  16. Web端轻松实现音视频聊天通话
  17. 进神经网络的学习方式(译文)----中
  18. ORACLE统计报表
  19. wordpress php7 兼容_WordPress升级PHP7后wp-code-highlight插件兼容性解决方法
  20. 解决WIN10系统电脑右下角网络图标不见网络无法连接的方法总结(2021.1030)

热门文章

  1. ajax遍历数组对象数组对象数组,javascript - 从ajax json请求中,如何将对象动态添加到数组中,以便我可以遍历它们? - 堆栈内存溢出...
  2. mac上python无法import redis
  3. mysql数据库输出数据语法错误_获取RDS-Mysql数据语法错误
  4. php怎么将网页另存为mht代码,mht转html代码(php)
  5. php 获取字符串长度 包含空格,php中常用的字符串长度函数strlen()与mb_strlen()实例解释...
  6. java 泛型 类型形参(Type Parameters) 通配符(wildcard)边界(Bound)
  7. Python datatime date
  8. C语言 底层IO openclose
  9. MySQL The JSON Data Type(JSON格式数据)
  10. 3.10 触发字检测