通过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. SharePoint 2013备份方法整理

    关于SharePoint备份 SharePoint的备份是一个数据副本,主要用于在系统出现故障后还原和恢复该数据. 备份的工具主要有以下几种(写的不全,欢迎补充.) SharePoint管理中心的备份 ...

  2. Ubuntu下vi编辑器不听话

    编辑文件/etc/vim/vimrc.tiny,将“compatible”改成“nocompatible”非兼容模式: 并添加一句:set backspace=2 

  3. It企业的上市与退市

    目前我国的it上市公司有同方股份.华胜天成.长城电脑.航天信息.用友软件.中国软件.东软集团.长电科技.华东科技.航天长峰.航天科技.士兰微.上海贝岭等等. 一般来讲公司上市是为了融资,一是为了解决资 ...

  4. MVC上的jsonp扩展,解决跨域访问问题

    总是有人会遇到跨域问题,然后有个jsonp的解决方案,MVC中代码如下: public class JsonpResult : System.Web.Mvc.JsonResult { object d ...

  5. SQL server 查询语句优先级-摘抄

    SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后 ...

  6. 「TJOI2013」循环格

    题目链接 戳我 \(Solution\) 我们观察发现循环格要满足每个点的入度都为\(1\) 证明: 我们假设每个点的入读不一定为\(1\),那么必定有一个或多个点的入度为0,那么则不满足循环格的定义 ...

  7. Kotlin 区间和循环 Loop和Range

    在kotln中有一种很简单的方式来表达某一个区间的数字. 比如我想存储1~100. 我在其他的语言中可以用数组,步骤大概有三个把. 但是在kotlin中就只需要一步. 代码如下: fun main(a ...

  8. DOS远程桌面连接命令[佚名]

    DOS远程桌面连接命令 mstsc /v: 192.168.1.250 /console cmd 运行 command 删除文件 rd 文件名/S 创建文件 MD 文件名 net user admin ...

  9. 【hadoop】 running beyond virtual memory错误原因及解决办法

    问题描述: 在hadoop中运行应用,出现了running beyond virtual memory错误.提示如下: Container [pid=28920,containerID=contain ...

  10. 【离散数学】 SDUT OJ 偏序关系

    偏序关系 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定有限集上二元关系的关系矩 ...