• shell脚本-批量添加用户


    批量添加用户,要求如下

    脚本一:不是很严格但是很简洁的脚本

    #!/bin/bash

     #该脚本用来实现批量添加用户。
      #
      #作者阿鑫
      #日期2019/5/27
      #版本v1

    
    #提示用户脚本使用方法
    [ $# -eq 0 ] && echo "Usage useradd.sh number" && exit
    #判断是否存在/data/user_passwd,若存在则移动该文件,做备份。
    if [ -f /data/user_passwd ];then
            mv /data/user_passwd /data/user_passwd.bak-`date +%F`
    else
            echo "hello" > /dev/null
    fi
    ##使用for循环创建用户
    ##passwd从标准输入读取密码,并使用tee命令保存密码到/data/user_passwd
    for (( i=1;i<=$1;i++ ));do
            useradd -g users user_$i
            echo ` openssl  rand -base64  8 ` | tee -a /data/user_passwd | passwd user_$i --stdin
    done

    脚本二:在脚本一中密码可以使用专门的密码命令mkpasswd,实现更丰富的密码规则。

        并且脚本一也存在一个问题,就是用户名要求为user01的格式。

        /data/user_passwd只保存了秘密没有保存用户名。

        脚本二解决了这些问题

    #!/bin/bash
    #该脚本用来实现批量添加用户。
    #作者阿鑫
    #日期2019/5/27
    #版本v1
    
    #查看是否安装了mkpasswd命令
    which mkpasswd &>/dev/null || yum install -y mkpasswd
    
    #提示用户脚本使用方法
    [ $# -eq 0 ] && echo "Usage useradd.sh number" && exit
    
    #判断是否存在/data/user_passwd,若存在则移动该文件,做备份。
    if [ -f /data/user_passwd ];then
            mv /data/user_passwd /data/user_passwd.bak-`date +%F`
    else
            echo "hello" > /dev/null
    fi
    
    ##使用for循环创建用户
    ##passwd从标准输入读取密码,并使用tee命令保存密码到/data/user_passwd
    for i in `seq 99`;do
            useradd -g users user_$i
            pass=`mkpasswd -l 12 -s 0`
            echo $pass | passwd  --stdin user_$i
            echo "user_$i $pass" >> /data/user_passwd
    done
    
    #单独创建用户user_100
    useradd -g users user_100
    echo 'mkpasswd -l 12 -s 0' | tee -a /data/user_passwd | passwd user_100 --stdin
    
    echo “用户创建完成”,密码保存在/data/user_passwd

     

  • 相关阅读:
    文化课随笔
    微积分与无穷级数
    [康复计划]-数论基础
    [Codeforces]CF742(Div.2)A-E
    第一次个人编程作业的过程和想法
    第一次个人编程作业
    Python命令行参数及文件读出写入
    第一次个人编程作业
    第一次个人编程作业
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/13620855.html
Copyright © 2020-2023  润新知