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

通过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."
时间: 2024-09-29 05:46:43

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

批量创建用户并设置随机密码

批量创建用户并设置随机密码 批量创建用户并设置随机密码: #!/bin/bash . /etc/init.d/functions user=freddy Path=/data/ UserDb=$Path/user.db FailDb=$Path/user.db [ -d "$Path" ] || mkdir $Path [ -f "$UserDb" ] || touch $UserDb [ -f "$FailDb" ] || touch $Fai

Linux 批量创建用户及设置随机密码

一.项目需求批量创建10个用户stu01-stu10,并且设置随机8位密码,要求:不能用shell循环(例如:for,while等),只能用linux命令及管道实现.二.实现方法(一)1) 创建账号并设置随机密码[[email protected] ~]# for n in seq 10;do useradd user$n;echo "user$necho user$n|md5sum|cut -c4-8"|passwd --stdin user$n;done2)打印密码并导入文件[[e

老男孩教育每日一题-第63天-批量创建用户并设置随机密码(要求不能使用shell循环语句)

题目:批量添加20个用户,用户名为user1~20,密码为5个随机字符(要求不能使用shell循环语句) 解决方法 方法1  echo user{1..20}|xargs -n1|sed -r 's#(.*)#useradd \1 \&\& echo \1 >>/tmp/passwd.txt \&\& echo $RANDOM |md5sum |cut -c 1-5>>/tmp/passwd.txt \&\& echo `tail -

纯linux命令批量创建用户并设置随机密码且显示用户和密码的脚本

##deleate rm -f /root/user_password.txt /root/user_names.txt /root/user_list.txt ##create stu01-stu10 echo stu{01..10}|xargs -n1 >> /root/user_names.txt ##create users stu01-stu10 and build password cat /root/user_names.txt|sed 's#.*#useradd &;e

企业实战脚本案例2:批量创建用户并设置初始密码

批量创建用户并设置初始密码 目录: 1.脚本功能介绍 2.脚本制作技术需求 2.1 useradd命令 2.2 id命令 2.3 passwd命令 2.4 随机密码 2.5 while循环+case+select 3.脚本编写案例 一.脚本功能介绍 在企业中生产或运维中,经常会遇到VPN服务器.企业网盘.企业邮箱.云桌面私有账号等等一系列的服务器.当批量新员工入职时,经常需要批量账号分配给新员工,若此类账号存储在数据库时,管理员可根据公司账号命名规范通过专有图形化系统进行录入账号,若账号存储在系

批量添加用户,并设置8位随机密码(禁止使用for,while等循环)

批量添加用户,并设置8位随机密码(禁止使用for,while等循环) 创建用户: [[email protected] lin]# echo oldboy{01..05}|xargs -n1 oldboy01 oldboy02 oldboy03 oldboy04 oldboy05 [[email protected] lin]# echo oldboy{01..05}|xargs -n1|awk '{print "useradd "$NF}' useradd oldboy01 user

Linux Shell 脚本限制ssh最大用户登录数

我撰写本文原来的意图是想把"复制SSH渠道"和"copy SSH Session"这样的功能从远程ssh客户端中剔除掉.因此想到可以在SSH服务端设置一下,但查阅了sshd_config的man手册,发现里面的看起来限制ssh连接数量的参数(MaxSessions ,ClientAliveCountMax等)在复制SSH渠道中并不好用,即一个远程ssh客户端可以通过这种方式几乎无限制的建立ssh会话,未免让人觉得"不爽". 例如,我正在做一件事情

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

当我们在服务器上面疯狂的进行操作的时候,我们用shell脚本来帮我们来完成一些基本的任务,但是一些命令或者一些操作需要我们不断切换用户来实现的话,在shell脚本就不那么好实现了,那么我们在shell脚本中应该怎么去写这个用户切换的代码呢? su -chen -c "command" 适用于切换目录只执行一条命令 su -chen -s path 适用于切换目录执行多条命令 执行多条命令的时候,要创建一般用户的commandshell,提权到可执行脚本,然后在主shell中执行多条命令

linux 添加用户并设置主目录,shell 并 并赋予权限

环境 centos 7.6 添加用户: [[email protected] ~]# useradd -d /home/yaoxu -m -s /bin/bash yaoxu 更改用户密码: passwd yaoxu 添加管理员权限: sudo adduser -g wheel username # 添加有管理员权限用户 sudo usermod -G wheel username # 追加管理员权限 查看当前组: groups 方便记录,备忘.如果对您有帮助,希望能点击推荐给予支持~ 删除用户