通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

原文:http://www.21yunwei.com/archives/4773

有一个朋友问我如何批量创建用户和设置密码 ,我就简单给他写了两个脚本,让他自己参考下并自己根据实际情况进行修改,毕竟他需要的用户名和密码都是实际生产环境的。

这里分两种情况,一种是测试for循环批量添加用户,一个是根据实际生产环境进行批量添加。分别写一下案例如下:
1,for添加指定类型用户以及设置随机密码。
脚本作用:批量添加user1-10用户并设置随机8位数随机密码

  1. #!/bin/bash
  2. #test add user and set passwd
  3. for n in `seq 10`
  4. do
  5. useradd user$n;
  6. echo user$n |passwd `echo user$n |md5sum |cut -c1-8`
  7. done

2,实际生产环境批量添加用户和设置对应密码
脚本作用:在生产环境中批量添加指定用户并设置对应密码。
思路:将所有要添加的用户名和密码放到一个数组中,设置一个函数进行截取用户名和密码并进行添加用户、设置密码。最后用一个循环调用这个函数即可添加。

  1. #!/bin/bash
  2. #adduser and set passwd
  3. userlist=(
  4. user21:123456
  5. user22:456789
  6. user23:876543
  7. )
  8. function adduser_setpasswd_sudo(){
  9. user=`echo $1 |awk -F: '{print $1}'`
  10. passwd=`echo $1 |awk -F: '{print $2}'`
  11. useradd -m -s /bin/bash $user
  12. echo "$user:$passwd"|chpasswd
  13. sed -i "/${user}/d" /etc/sudoers
  14. echo "${user} ALL=NOPASSWD:ALL,!/usr/bin/passwd,/usr/bin/passwd[a-zA-Z]*,!/usr/bin/passwd root,!/bin/su" >> /etc/sudoers
  15. }
  16. for n in ${userlist[@]}
  17. do
  18. adduser_setpasswd_sudo $n
  19. done

3,删除要取消的账户以及取消sudo权限

    1. #!/bin/bash
    2. cat < <EOF
    3. ##############################################################
    4. delete username and cancle sudo privileges.
    5. ##############################################################
    6. EOF
    7. read -p "Please input username which you want to del:" username
    8. userdel -r $username
    9. sed -i "/${username}/d" /etc/sudoers
    10. echo "Delete $username finished."

(转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加的更多相关文章

  1. 如何在linux中批量建立用户并设置随机密码

    Ubuntu是基于linux的免费开源操作系统,同时也是真正意义上的“多任务多用户”操作系统,既然是多用户系统,自然就涉及到创建多个用户的问题.同时由于Ubuntu系统中的root用户具有最高权限,无 ...

  2. Windows RabbitMQ 添加用户、设置角色和权限 (包含无法添加的错误处理)

    添加账号密码 rabbitmqctl.bat add_user test 123456 添加角色 rabbitmqctl.bat set_user_tags test administrator 授权 ...

  3. Shell脚本中实现切换用户并执行命令操作【转】

    第一种方法 cat test.sh #!/bin/bashsu - test <<EOFpwd;exit;EOF 执行结果图: 第二种方法 当然也可以用下面的命令来执行 复制代码代码如下: ...

  4. LINUX下 一句话添加用户并设置ROOT权限

    来源:linux一条命令添加用户并设置密码 linux一条命令添加一个root级别账户并设置密码 LINUX提权,除非是拿的EXP反弹CMD,才会有回显,这样添加管理员方便了. 通常是在SHELL,菜 ...

  5. macos下mongoDB 3.4.5 添加用户、设置权限

    macos下mongoDB 3.4.5 添加用户.设置权限   在项目中需要根据项目运行环境访问,以不同的身份访问各自的db,所以研究了一下MongoDB的 需求: 给MongoDB添加两个用户分别用 ...

  6. shell脚本实例-实现监控tcp的链接状态另一种方式批量创建用户

    Array实现TCP的链接状态 #!/usr/bin/bash declare -A status type=`ss -an | grep :80|awk '{print $2}'` for i in ...

  7. linux 添加用户并设置主目录,shell 并赋予权限 (以 fedora 和 ubuntu 为例)

    环境 centos 7.6 添加用户: [root@localhost ~]# useradd -d /home/yaoxu -m -s /bin/bash yaoxu 更改用户密码: passwd ...

  8. Shell脚本中怎么实现用户切换实现操作

    当我们在服务器上面疯狂的进行操作的时候,我们用shell脚本来帮我们来完成一些基本的任务,但是一些命令或者一些操作需要我们不断切换用户来实现的话,在shell脚本就不那么好实现了,那么我们在shell ...

  9. jenkins中使用shell脚本必须切换jenkins用户

    https://blog.csdn.net/cdnight/article/details/81078191 安装这篇解决的 正确使用脚本的方式: 1.脚本必须使用jenknins用户,且所有命令必须 ...

随机推荐

  1. 【Head First Java 读书笔记】(二)类与对象

    前篇当中,代码都放在main()里面,那根本不是面向对象的做法. 椅子大战(对象如何改变你的一生) 程序规格: 在图形接口画出四方形,圆形和三角形,当用户点选图形时,图形需要顺时针转360度并依据形状 ...

  2. DELPHI XE5 UP2 运行IOS 遇到 Wrapper init failed: (null)问题的解决办法

    一.问题表现: 在MAC OSX(10.9.2)上安装了比较新的XCODE5.1 和COMMAND LINE TOOLS 在DELPHI XE5 UP2上放了一个按钮,输出到MAC OSX上,出现: ...

  3. Boosting and Its Application in LTR

    1 Boosting概述 2 Classification and Regression Tree 3 AdaBoost 3.1 算法框架 3.2 原理:Additive Modeling 4 Gra ...

  4. Weekly Contest 117

    965. Univalued Binary Tree A binary tree is univalued if every node in the tree has the same value. ...

  5. javascript选项卡2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. CF1137F Matches Are Not a Child's Play(树链剖分)

    题面 我们定义一棵树的删除序列为:每一次将树中编号最小的叶子删掉,将该节点编号加入到当前序列的最末端,最后只剩下一个节点时将该节点的编号加入到结尾. 例如对于上图中的树,它的删除序列为:2 4 3 1 ...

  7. iOS 开发之 GCD 基础

    header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...

  8. Struts、Hibernate和Spring的整合

    Spring整合Hibernate Spring以其开放性,能与大部分ORM框架良好的整合.这样Spring就能轻松地使用ORM. Spring提供了DAO支持,DA0组件是应用的持久层访问的重要组件 ...

  9. Hadoop文章

    hadoop入门--简单的MapReduce案例:https://blog.csdn.net/zhangt85/article/details/42077281?utm_source=blogxgwz ...

  10. [BZOJ 5415] 归程

    一棵KrusKal重构树,然而我数组开小了,忘记清空一个标记 洛谷传送门 BZOJ传送门 ......好像成权限题了Orz 回顾我们用KrusKal做生成树的时候,我们将边排序后连通各个连通块,那么边 ...