精华内容
下载资源
问答
  • 2 #描述:批量创建100个用户 3 4 #随机6位密码: `date | md5sum | head -c 6` 5 #随机6位密码: `cat /dev/urandom |head -1|md5sum | head -c 6` 6 i=1 7 pass=888888 8 9...

     

     1 #!/bin/bash
     2 #描述:批量创建100个用户
     3 
     4 #随机6位密码:  `date | md5sum | head -c 6`
     5 #随机6位密码:  `cat /dev/urandom |head -1|md5sum | head -c 6`
     6 i=1
     7 pass=888888                   
     8 
     9 while [ $i -le 100 ]
    10 do
    11     #判断所需添加用户是否存在
    12     id $user 1>/dev/null 2&1
    13     if [ $? -eq 1 ]
    14     then 
    15         echo "用户不存在,允许添加"
    16         continue
    17     else
    18         echo "用户已经存在,请重新输入..."
    19     fi
    20     
    21     useradd -g webs web-user$i
    22     echo "$pass" | passwd --stdin web-user$i 1>/dev/null 2&1
    23     chage -d 0 web-user$i
    24     i=`exper $i+1`
    25     
    26 done

     

    1 #!/bin/bash
    2 #批量删除用户
    3 for i in {1..100}
    4 do
    5  userdel -r user$i
    6  sed -i /^user$i/d /etc/passwd
    7  sed -i /^user$i/d /etc/group
    8  echo "成功删除user$i用户!"
    9 done

     

     

    转载于:https://www.cnblogs.com/zhoul/p/9926104.html

    展开全文
  • 需求:用shell脚本批量创建100个用户并设置密码 我们单纯创建一个用户的时候 useradd zhangsan (创建一个张三用户) ls /home/ (可以看到刚刚创建的那个用户,但是这个用户不可以登陆) passwd zhangsan (给张三设置...

    需求:用shell脚本批量创建100个用户并设置密码

    我们单纯创建一个用户的时候

    useradd zhangsan    (创建一个张三用户)
    ls /home/       (可以看到刚刚创建的那个用户,但是这个用户不可以登陆)
    passwd zhangsan (给张三设置密码)
    

    成功了之后,这个用户就可以通过ssh登陆成功了

    批量的创建100个用户,让自动输入。并将用户和密码存到文件中
    因为useradd zhangsan是不需要交互的,passwd zhangsan 设置密码是需要交互的。
    其实passwd这个命令是可以接受标准输入的,可以设置选项的:passwd --help 查看可知:passwd --help

    echo 123456 |passwd --stdin zhangsan    (为张三自动设置密码为123456,不需要交互)
    

    下面还有一个问题是怎么给这些用户设计随机密码?
    linux系统有一个变量,可以随机生成数字

    echo $RANDOM    (会得到这样的数据:26038)
    

    如果想要得到的数据更复杂一点,可以用md5进行效验

    echo $RANDOM |md5sum    (会得到这样的数据:ff3fff74e6e87252577fa8287c4e8956)
    

    可以将得到的数据进行截取一定的长度,作为密码

    echo $RANDOM |md5sum |cut -c 1-8    (截取1-8个字符)
    

    补充:

    echo {1..10}  这种{..},存放的是可迭代序列
    
    id zhangsan (判断这个用户是否已经存在,如果在的话会返回:uid=1000(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan)
                    如果不存在的话:id: zhangsan1: no such user)
    

    我们可以通过shell的命令状态码来判断,是不是存在

    echo $? (查看上一个命令,是否正常返回。0的话就是正确的,1的话就是错误的)
    

    在这里插入图片描述

    现在如果是0的话(说明已经有这个用户),我们就不创建。不是0的话(说明没有这个用户),我们就创建
    vi test.txt     (可以创建一个test.txt,在写入)
    sudo chmod +x 3.sh      root用户给3.sh文件加一个可执行的权限
    ./3.sh      执行3.sh文件
    

    创建用户名为:user01-user10的用户
    密码随机
    并写入在user1.txt文件中

    #!/bin/bash
    USER_FILE=./user1.txt
    for USER in user{01..10}; do	#先创建user1-user10,10个用户
      if ! id $USER &>/dev/null; then  #如果没有的这个用户的话
         PASS=$(echo $RANDOM |md5sum |cut -c 1-8)	#PASS变量:$是执行一个shell命令
         useradd $USER		 #创建用户
         echo $PASS |passwd --stdin $USER &>/dev/null		#给这个用户设置一个密码
         echo "$USER   $PASS" >> $USER_FILE		 #将用户名和密码写到一个文件中
         echo "$USER User create successful."
      else		#当有这个用户的时候
         echo "$USER User already exists!"		#创建失败的时候提示
      fi	#if结尾
    done	#循环语句的结束
    

    切换到其他用户

    su - user1
    

    ------下面是可以传参创建的-------

    #!/bin/bash
    USER_LIST=$@	#接收所有传入的位置参数,赋值给变量,变量可以遍历出来
    USER_FILE=./user.txt
    for USER in $USER_LIST; do
        if ! id $USER &>/dev/null; then
            PASS=$(echo $RANDOM |md5sum |cut -c 1-8)
            useradd $USER
            echo $PASS |passwd --stdin $USER &>/dev/null
            echo "$USER   $PASS" >> $USER_FILE
            echo "$USER User create successful."
        else
            echo "$USER User already exists!"
        fi
    done
    

    在这里插入图片描述

    展开全文
  • 文章目录一、简单需求...背景:新入职100人,每人需要登录服务器 简单需求实现流程: 1. 添加用户 2. 给用户设置密码 企业需求实现流程: 1. 添加用户 2. 给用户设置密码 1. 添加用户 #创建用户名为zs的用...

    一、简单需求实现流程

    背景:新入职100人,每个人需要登录服务器
    简单需求实现流程:
     1. 添加用户
     2. 给用户设置密码
    
    企业需求实现流程:
     1. 添加用户
     2. 给用户设置密码
    

    1. 添加用户

    #创建用户名为zs的用户
    useradd zs
    

    2. 给用户设置密码

    #给zs用户设置密码为123456
    echo 123456 |passwd --stdin zs
    
    USER_LIST=$@
    USER_FILE=./user.info
    for USER in $USER_LIST; do
        if ! id $USER &>/dev/null; then
            PASS=123456
            useradd $USER
            echo $PASS |passwd --stdin $USER &>/dev/null
            echo "$USER   $PASS" >> $USER_FILE
            echo "$USER User create successful."
        else
            echo "$USER User already exists!"
        fi
    done
    

    二、企业需求实现流程

    2.1. 脚本准备工作

    Linux 生成随机数

    #Linux 生成简单随机数
    echo $RANDOM
    #Linux 生成md5随机数
    echo $RANDOM |md5sum
    ##Linux 生成md5随机数,并截取前8位字符
    echo $RANDOM |md5sum |cut -c 1-8
    

    在这里插入图片描述

    2.2. 企业级脚本

    #!/bin/bash
    USER_LIST=$@
    USER_FILE=./user.info
    for USER in $USER_LIST; do
        if ! id $USER &>/dev/null; then
            PASS=$(echo $RANDOM |md5sum |cut -c 1-8)
            useradd $USER
            echo $PASS |passwd --stdin $USER &>/dev/null
            echo "$USER   $PASS" >> $USER_FILE
            echo "$USER User create successful."
        else
            echo "$USER User already exists!"
        fi
    done
    

    2.2. 需求说明

    企业级需求脚本:
    1.循环创建传入的用户
    2.给创建的用户设置随机md5密码
    3.将用户和密码保存到指定的文件中,便于管理
    4. 用户存在提示“$USER User create successful.”
    5. 用户不存在提示“$USER User already exists!”
    

    2.3. 企业级脚本说明

    命令 说明
    USER_FILE 文件的绝对路径,用于写入内容
    USER_LIST 一个变量名 只为进行传递参数值
    $@ 接收传入的所有位置的参数
    for USER in $USER_LIST 循环传入的参数
    if ! id $USER &>/dev/null 对结果判断 走不同分支
    PASS=$(echo $RANDOM md5sum
    useradd $USER 创建用户
    echo $PASS passwd --stdin $USER &>/dev/null
    echo “$USER $PASS” >> $USER_FILE 将用户和密码写入到文件中
    echo “$USER User create successful.” 操作输出语句用于提醒而已

    三、实战

    3.1. 运行脚本

    背景:zs用户已经存在

    #格式 脚本名 用户1 用户2 ----用户n
    ./3.sh zs ly yx
    

    在这里插入图片描述

    3.2. 查看创建的用户

    cd /home
    ll
    

    在这里插入图片描述

    3.3. 查看文件中的用户和密码信息

    cd ~/shell_scripts/
    ll
    cat user.info
    

    在这里插入图片描述

    展开全文
  • 3. 批量添加多个用户

    千次阅读 2019-01-09 22:54:50
    1)批量创建100个用户; 2)用户名为user_01 - user_100; 3)给所有用户都设定一个随机密码,12位长度,且需要包含大小写字母及数字; 4)并把用户的密码保存到 /data/user_passwd 文件中; 5)这100个用户同...

    批量创建多个用户的需求在生产环境下用的不多,但是经常会在面试时的笔试题上看到,本案例就是批量创建多个用户。具体要求如下:

    1)批量创建100个用户;
    
    2)用户名为user_01 - user_100;
    
    3)给所有用户都设定一个随机密码,12位长度,且需要包含大小写字母及数字;
    
    4)并把用户的密码保存到 /data/user_passwd 文件中;
    
    5)这100个用户同属于users组。
    

    参考脚本如下:

    #!/bin/bash
    #批量添加100个用户,user_01 - user_100
    
    #检查是否有mkpasswd命令,没有则安装
    if ! which mkpasswd $>/dev/null
    then
        echo "没有mkpasswd命令,安装该命令:"
        yum install -y expect
    fi
    
    #判断 /data/user_passwd 文件是否存在
    #若存在,应该先删除
    [ -f /data/user_passwd ] && rm -rf /data/user_passwd
    
    #100为三位数,只能遍历到99
    for n in `seq -w 1 99`
    do
        pass=`mkpasswd -l 12 -s 0`
        echo "添加用户user_100"
        
        useradd -g users user_$n
        echo "给用户user_$n设定密码"
        echo $pass | passwd --stdin user_$n
        echo "user_$n $pass" >> /data/user_passwd
    done
    
    pass=`mkpasswd -l 12 -s 0`
    echo "添加用户user_100"
    useradd -g users user_100
    echo "给用户user_100设定密码"
    echo $pass | passwd --stdin user_100
    echo "user_100 $pass" >> /data/user_passwd
    

    脚本中,

    1)mkpasswd -s 指定特殊字符个数

    2)如果遍历到100,那就是user_001 - user_100

    3)passwd --stdin 从标准输入读取令牌,从而更改密码(只有root用户才能进行此操作)


    展开全文
  • 以下脚本可以:根据选项--add或者--del可以批量创建或者删除100个用户如果创建用户那么赋予密码,和用户名相同如果不指定参数则提示“You must add ARG”如果已经存在了相关用户则提示用户已经存在,删除用户同理...
  • shell脚本——批量创建用户

    千次阅读 2021-06-01 21:40:22
    #批量创建20个用户 user01 ~ user20 user=user #创建存储用户和密码的文件 touch user.txt txt=user.txt #循环遍历1到20 for i in {1..20} do random=$[$RANDOM%100] if [ $i -lt 10 ];then ..
  • shell脚本(批量创建用户

    千次阅读 2019-06-19 15:34:44
    shell脚本批量创建用户有些面试题中会问到批量创建用户的题目,大体是用循环去进行创建,但有时也会有一些...需求:1、自定义用户,不要有特殊字符:user01,user022、最多创建100个用户,要求数字等位对齐。例:1-9...
  • 每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下: user001::600:100:user:/home/user001:/bin/...
  • 在创建新用户的时候一个个创建着实麻烦,那么我们要怎么才能批量创建用户呢? 别着急,下面我们就跟小编一起去看看Serv_U批量创建用户的方法,大家一起来学习吧。 在网上看了下,也没有找到好的方法。没办法,只能拿...
  • 在网上看了下,也没有找到...准备好这账号的account.txt文件后,建立一run.bat文件,打开文件,输入一下代码 @for /f %%i in (account.txt) do @mkdir %%i pause 保存成run.bat,然后双击运行,即可产生account.tx
  • Linux中批量创建用户的方法

    万次阅读 2018-03-22 15:42:39
    - 每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下: user001::600:100:user:/home/user001:/bin/...
  • 生成速度太慢,100个用户花了几分钟时间。 为了提高效率,今天实现另一个方案,直接生成文件。 用户注册(仅填写用户名和密码)后生成的文件内容如下图所示:   写了两种方法,用timeit()随便测了一下,...
  • Linux 批量创建文件

    2020-08-17 09:48:12
    有时候因为测试或什么原因会批量创建文件,或批量创建有规律的文件,或是模拟用户习惯批量创建嵌套文件,下面总结了几我经常用的方法: 1. 命令行直接创建 touch test-{1..10000}.txt 2. shell 的方式 #!/bin/...
  • 要求:1)批量增加100个用户2)用户名为user_01-user_1003)给所有用户都设定一个随机密码,密码长度12位,需要包含大小写字母以及数字4)并把用户的密码保存到/data/user_passwd文件中5)这100个用户同属于users组...
  • shell脚本中的多线程很多场景中会用到多线程,例如备份数据库,有100个库,正常备份效率极其低下。有了多线程原本可能需要10个小时备份,现在分10个线程同时去干,只要一个小时就解决了。今天就介绍下shell中如何...
  • 1、某互联网公司职能及员工信息表,如表所示,请在Linux系统中创建相关员工,并把员工加入到部门(创建对应的组和用户)。部门 职能讲师部(teacher) ...2、批量创建1-100个用户,用户名以jfedu开头,后面紧跟1,2,3,...
  • 批量创建100个系统用户,要求:帐号和密码(8位以上含数字和字母)均不能相同。解答:#!/bin/bashfor((i=1;i<101;i++))doprintf-vnum"%.4d"$iuserno=$num##用户名username是类似“user0001”“user0002”“user0003...
  • 批量添加centos用户及密码 工作需求,领导需要在服务器创建100用户供测试人员登录测试使用,一个个添加太累,与是上网找了找关于同时批量创建用户名及密码的shell资料,综合了牛人们的想法写了小脚本拿出来与大家...
  • 如:在当前用户下创建两sequence,seq_student和seq_score ...--批量创建sequence declare type v_array is varray(2) of varchar2(100); v_index number; v_arr v_array:=v_array('student'...
  • 3、批量创建用户 4、检查软件包是否安装 5、检查服务状态 6、检查主机存活状态 7、监控CPU、内存和硬盘利用率 8、批量主机磁盘利用率监控 9、检查网站可用性 10、检查MySQL主从同步状态(略) 11、用source 执行脚本...
  • 批量用户脚本

    2011-08-15 09:17:30
    批量用户脚本 ...创建100个系统用户,登录用户名取值范围为(exam0~exam99)用户登录密码与其用户名相同,用户的默认shell为要求为bash,用户的home目录要求在/home 下的与其用户名相同的文件夹下;这100...
  • 导读 此脚本是用来批量创建用户并设置用户密码,在企业用非常实用。 脚本一 #!/bin/bash for name in $( seq 1 100 ) do useradd "user$name" ...
  • shell批量添加用户

    2014-12-17 12:36:27
    无聊看到一个面试题,要求用shell脚本创建100个用户,命名为:student001...student100:#!/bin/bash fornumin`seq-w100` do /usr/sbin/useraddstudent$num echo'Password'|passwd--stdinstudent$num done...
  • CloudFoundry-BulkUserCreation 用于批量用户生成的BASH脚本 它是为创建100个CF用户,组织和空间而创建的。
  • Linux 批量添加用户

    2017-08-07 11:25:07
    第一种:vi一个文本用户文件,每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码 栏可以留做空白或输入x号。一个范例文件user.txt内容如下:> > user001:...
  • 于是便找点资料,想做个批量创建的程序,不也快哉!可是网上开发exchange的中文资料太少,搞了几天也没搞好,或者手工输入都弄好了。由于公司里没有域服务器,客户那边有两台,一台装exchange,一台装vs2003,程序...
  • Git批量操作 Git远程(GitHub,GitLab)... 为每团队项目创建仓库(CreateGithubTeamRepos.py) 批量添加每项目的协作者(AddGithubCollab.py) 复制(镜像)大量回购协议(DuplicateGithubRepos.p) 我们还维
  • 如果一台服务器上有100个MySQL数据库实例,此时需要给不同端口的几个数据库添加用户名、密码并授权应用IP,一个个授权没问题,反正累的不是我,哇咔咔。 创建add_user.sh #/bin/bash #add user to mysql ...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 257
精华内容 102
关键字:

批量创建100个用户