加入收藏 | 设为首页 | 会员中心 | 我要投稿 佛山站长网 (https://www.0757zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

批量添加用户的shell脚本

发布时间:2016-10-25 10:39:17 所属栏目:Linux 来源:网络整理
导读:题目要求:通过shell编程,实现批量添加用户。 保存为任意文件名:给x权限 不加任何参数,则为添加user1.user2.user3....user10,密码=用户名 加参数例:comman

题目要求:通过shell编程,实现批量添加用户。

保存为任意文件名:给x权限

不加任何参数,则为添加user1.user2.user3....user10,密码=用户名

加参数例:command -a test 20  命令 -a添加 test是用户头 20是添加数量(一次添加最多不得大于100个,下面代码可以自己改)

command -d test 删除系统中用户名以test开头的,后跟数字的用户名,不加test,则默认删除user1.user2.user3...这类用户...慎用...

#!/bin/bash
U=${2:-user}
Num=${3:-10}
Res=`grep -o "^<$U[0-9]{1,}>" /etc/passwd|grep -o "[0-9]{1,}"|sort -n|tail -1`
Res1=${Res:-0}
Res2=$((Res1+Num))
ALL=`cat /etc/passwd|wc -l`
if [[ -z $1 || $1 == '-a' && ! -z $2 && $3 -le 100 ]];then
        for((i=${Res1};i<=${Res2};i++))
        do
                if [[ $i -ne 0 ]];then
                        useradd  ${U}$i &> /dev/null
                        echo "${U}$i"|passwd --stdin ${U}$i &> /dev/null
                fi 
        done
                AALL=`cat /etc/passwd|wc -l`
                echo "Add user number is $((AALL-ALL))"
elif [[ ! -z $1 && "$1" = '-d' ]] ;then
        for((i=${Res1};i>=1;i--))
        do
                Res3=`grep -o "^<${U}${i}>" /etc/passwd`
    
                if [[ -n $Res3 && "${U}$i" == "$Res3" ]];then
                        userdel -r  ${U}$i &> /dev/null
                fi
        done
                DALL=`cat /etc/passwd|wc -l`
                echo "Del user number is $((ALL-DALL))"
else
        echo -e "33[33;5merror!33[0m Please input none or -a or -d"
fi

URL:http://www.bianceng.cn/OS/Linux/201410/45684.htm

(编辑:佛山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读