注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

伯纳乌の夢

可以挽回么?我们按“ Ctrl+Z”撤销掉吧。对不起啦~~

 
 
 

日志

 
 
 
 

一个大量建置账号的范例 From VBird  

2009-03-30 22:19:39|  分类: Ubuntu |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
不要怀疑,很多时候,我们都可能需要大量的建置账号的, 举例来说,学校要帮同学建立他们的账号,那
就很可能需要啦~ 一般来说,建立账号要进行的前制工作很多,包括要建立账号名称与该账号的密码对应
表~ 这个是最讨厌的啦~而且还要决定需要使用哪一个群组~呼呼~好讨厌的感觉那~
目前很多网站都有提供大量建立账号的工具,例如台南县网中心的卧龙大师:
     http://linux.tnc.edu.tw/techdoc/howto/howtouse_cmpwd.htm
提供的好用的 cmpwd 程序, 不过,其实我们也可以利用简单的 script 来帮我们达成喔!例如底下这支
程序, 他的执行结果与卧龙大师提供的程序差不多啦~ 但是因为我是直接以 useradd 来新增的, 所以,
即使不了解 UID ,也是可以适用的啦~
整支程序的特色是:
    ?   预设不允许使用纯数字方式建立账号;
    ?   可加入年级来区分账号;
    ?   可设定账号的起始号码与账号数量;
    ?   有两种密码建立方式,可以与账号相同或程序自行以随机数建立密码文件。
执行方法也简单的要命~请自行参考的啦!不再多说~ 使用时请注意,不要在公家使用的主机上面进行测
试,因为..... 这支程序会大量建立账号嘛!^_^
#!/bin/bash
#
# 这支程序主要在帮您建立大量的账号之用,
# 更多的使用方法请参考:
# http://linux.vbird.org/linux_basic/0410accountmanager.php#manual_amount
#
# 本程序为鸟哥自行开发,在 FC4 上使用没有问题,
# 但不保证绝不会发生错误!使用时,请自行负担风险~
#
# History:
# 2005/09/05    VBird    刚刚才写完,使用看看先~
PATH=/sbin:/usr/sbin:/bin:/usr/bin; export PATH
accountfile="user.passwd"
# 1. 进行账号相关的输入先!
read -p "账号开头代码 ( Input title name, ex> std )======> " username_start
read -p "账号层级或年级 ( Input degree, ex> 1 or enter )=> " username_degree
read -p "起始号码 ( Input start number, ex> 520 )========> " nu_start
read -p "账号数量 ( Input amount of users, ex> 100 )=====> " nu_amount
read -p "密码标准 1) 与账号相同 2)随机数自订 ==============> " pwm
if [ "$username_start" == "" ]; then
        echo "没有输入开头的代码,不给你执行哩!" ; exit 1
fi
testing1=`echo $nu_amount | grep '[^0-9]' `
testing2=`echo $nu_start   | grep '[^0-9]' `
if [ "$testing1" != "" ] || [ "$testing2" != "" ]; then
        echo "输入的号码不对啦!有非为数字的内容!" ; exit 1
fi
if [ "$pwm" != "1" ]; then
        pwm="2"
fi
# 2. 开始输出账号与密码档案!
[ -f "$accountfile" ] && mv $accountfile "$accountfile"`date +%Y%m%d`
nu_end=$(($nu_start+$nu_amount-1))
for (( i=$nu_start; i<=$nu_end; i++ ))
do
        account=$username_start$username_degree$i
        if [ "$pwm" == "1" ]; then
                 password="$account"
        else
                 password=""
                 test_nu=0
                 until [ "$test_nu" == "8" ]
                 do
                         temp_nu=$(($RANDOM*50/32767+30))
                         until [ "$temp_nu" != "60" ]
                         do
                                 temp_nu=$(($RANDOM*50/32767+30))
                         done
                         test_nu=$(($test_nu+1))
                         temp_ch=`printf "\x$temp_nu"`
                         password=$password$temp_ch
                 done
        fi
        echo "$account":"$password" | tee -a "$accountfile"
done
# 3. 开始建立账号与密码!
        cat "$accountfile" | cut -d':' -f1 | xargs -n 1 useradd -m
        chpasswd < "$accountfile"
        pwconv
           echo "OK!建立完成!"
这支程序可以在底下连结下载:
        http://linux.vbird.org/download/index.php?action=download&fileid=70

  评论这张
 
阅读(260)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017