注册 登录
LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! 返回首页

驰骋‘blog http://bbs.linuxtone.org/?9113 [收藏] [复制] [分享] [RSS]

日志

批量创建系统账户

热度 9已有 1187 次阅读2011-12-10 02:54 |个人分类:运维日记

批量创建系统账户
#!/bin/bash
userlist=$(echo test{1..50})
for NAME in $userlist
        do
            /usr/sbin/useradd $NAME
            PASSWD=$(openssl rand -base64 10)          #生成随机密码
            echo "$NAME $PASSWD"  >> passwd.txt    #用户密码保存到文件
            echo $PASSWD | passwd --stdin $NAME       #初始化密码
        done
4

路过

鸡蛋
2

鲜花
1

握手

雷人

刚表态过的朋友 (7 人)

发表评论 评论 (10 个评论)

回复 huangxiaolu 2011-12-10 09:02
牛逼毁了
回复 yoyojacky 2011-12-12 21:41
付一个批量删除用户的.哈哈
[root@master /]# cat userdel.sh
#!/bin/bash
userlist=$(echo test{1..20})
for USERNAME in $userlist
        do
                /usr/sbin/userdel -r $USERNAME
done
[root@master /]#
回复 xikder 2011-12-12 21:46
yoyojacky: 付一个批量删除用户的.哈哈
[root@master /]# cat userdel.sh
#!/bin/bash
userlist=$(echo test{1..20})
for USERNAME in $userlist
        do
              ...
   不错 不错
回复 脚下的路 2011-12-12 22:37
#!/bin/bash
userlist=$(echo study{2..50})
for NAME in $userlist
do
/usr/sbin/userdel -r $NAME
done
echo del user successful
  这样不禁把用户删除了还能把用户的目录直接干掉!偷学 xikder的!
回复 yoyojacky 2011-12-12 22:49
   呵呵,我是班门弄斧啊,还是楼主牛啊,哈哈
其实用户名的密码随机数太长了.我设置的时候用的是这个,
"openssl rand -base64  5"      
[root@master /]# openssl rand -base64 5
eY4LJzI=
[root@master /]# openssl rand -base64 5
tdlYyEM=
这样密码正好有8位,用户输入的时候简单些,因为是初始密码,所以没必要太复杂,哈哈
回复 yoyojacky 2011-12-12 23:05
我又写了一个新的,呵呵,这个样子也可以批量添加...
#!/bin/bash
userlist=$(seq -f"student%03g" 1 20)
for USERNAME in $userlist
        do
                /usr/sbin/useradd $USERNAME
PASSWD=$(openssl rand -base64 10)
echo "$USERNAME  $PASSWD" >> passwd.txt
echo $PASSWD | passwd --stdin $USERNAME
done
回复 yoyojacky 2011-12-12 23:12
又写了一个,交互式的,呵呵,能够提示输入起始数字和结束数字...这样可以按照自己的要求添加多个账户了.如果再加个判断,就更完美了.哈哈
[root@master /]# cat add1.sh
#!/bin/bash
echo -n "Please input number that you want to start creating user:"
read NUM1
echo -n "Please input number that you want to stop creating user:"
read NUM2
userlist=`seq -f"stuff%03g" $NUM1 $NUM2`
for USERNAME in $userlist
        do
                /usr/sbin/useradd $USERNAME
PASSWD=$(openssl rand -base64 10)
echo "$USERNAME  $PASSWD" >> passwd.txt
echo $PASSWD | passwd --stdin $USERNAME
done
[root@master /]#
回复 xikder 2011-12-14 14:46
yoyojacky: 又写了一个,交互式的,呵呵,能够提示输入起始数字和结束数字...这样可以按照自己的要求添加多个账户了.如果再加个判断,就更完美了.哈哈
[root@master /]# cat add ...
    蛋疼啊,这下你真的精通了,以后秒杀啊,哈哈
回复 IDC服务器托管 2011-12-15 16:46
都是高手
回复 yoyojacky 2011-12-19 21:31
完全没有精通,只是照猫画虎啊....

facelist

您需要登录后才可以评论 登录 | 注册

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2020-11-26 18:14 , Processed in 0.011969 second(s), 10 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部