批量建立用户及密码

1、批量创建10个系统账号oldboy01-oldboy10并设置密码(密码不能相同)

1 [[email protected] tmp]# cat 15-05-create_user_passwd.sh
2 #!/bin/sh
3 for n in $(seq -w 10)
4 do
5   useradd oldboy-$n
6   #密码就是最后一次
7   echo "$n"|passwd --stdin oldboy-$n
8 done

执行结果:

 1 [[email protected] tmp]# sh 15-05-create_user_passwd.sh
 2 Changing password for user oldboy-01.
 3 passwd: all authentication tokens updated successfully.
 4 Changing password for user oldboy-02.
 5 passwd: all authentication tokens updated successfully.
 6 Changing password for user oldboy-03.
 7 passwd: all authentication tokens updated successfully.
 8 Changing password for user oldboy-04.
 9 passwd: all authentication tokens updated successfully.
10 Changing password for user oldboy-05.
11 passwd: all authentication tokens updated successfully.
12 Changing password for user oldboy-06.
13 passwd: all authentication tokens updated successfully.
14 Changing password for user oldboy-07.
15 passwd: all authentication tokens updated successfully.
16 Changing password for user oldboy-08.
17 passwd: all authentication tokens updated successfully.
18 Changing password for user oldboy-09.
19 passwd: all authentication tokens updated successfully.
20 Changing password for user oldboy-10.
21 passwd: all authentication tokens updated successfully.
22
23 [[email protected] tmp]# su - oldboy-01
24
25 [[email protected] ~]$ su - oldboy-10
26 口令:10

2、批量创建10个系统账号oldboy1-oldboy10 并设置密码(密码为随机8位字符串)

先补充点生成随机数的知识
Linux 随机数
[[email protected] tmp]# echo $RANDOM
15598

[[email protected] tmp]# echo $(date +%t%N)
028885282

[[email protected] tmp]# echo $(date +%t%N)$RANDOM

06024296622562
[[email protected] tmp]# echo $(date +%t%N)$RANDOM|md5sum
56a71b3a6ae0880ef4ea2a03c742353e -

取随机数
[[email protected] tmp]# echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-9
e46f36ca
[[email protected] tmp]# echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-9
716d731a
[[email protected] tmp]# echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-9
d4c8a8bf

脚本如下:

 1 [[email protected] tmp]# cat adduser.sh
 2 #!/bin/sh
 3 . /etc/init.d/functions
 4 >/tmp/user.txt
 5
 6 for n in $(seq -w 10)
 7 do
 8     passwd=`echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-9`
 9     useradd oldboy-$n >&/dev/null && user_status=$?
10     echo "$passwd"|passwd --stdin oldboy-$n >&/dev/null && pass_status=$?
11
12     if [ $user_status -eq 0 -a $pass_status -eq 0 ];then
13           action "adduser oldboy-$n" /bin/true
14           echo -e "user:\toldboy-$n pass:\t$passwd" >>/tmp/user.txt
15      else
16           action "adduser oldboy-$n" /bin/false
17           echo -e "user:\toldboy-$n pass:\t$passwd" >>/tmp/fail_user.txt
18      fi
19
20  done

执行结果:

 1 [[email protected] tmp]# sh adduser.sh
 2 adduser oldboy-01 [  OK  ]
 3 adduser oldboy-02 [  OK  ]
 4 adduser oldboy-03 [  OK  ]
 5 adduser oldboy-04 [  OK  ]
 6 adduser oldboy-05 [  OK  ]
 7 adduser oldboy-06 [  OK  ]
 8 adduser oldboy-07 [  OK  ]
 9 adduser oldboy-08 [  OK  ]
10 adduser oldboy-09 [  OK  ]
11 adduser oldboy-10 [  OK  ]
12
13 检查创建用户日志,发现创建成功
14 [[email protected] tmp]# cat user.txt
15 user:   oldboy-01 pass: dd0b275b
16 user:   oldboy-02 pass: 968a2c8f
17 user:   oldboy-03 pass: 02b270cb
18 user:   oldboy-04 pass: 905deeee
19 user:   oldboy-05 pass: 138e6cf1
20 user:   oldboy-06 pass: 4be5f9a4
21 user:   oldboy-07 pass: e0bb693e
22 user:   oldboy-08 pass: 97fa2caa
23 user:   oldboy-09 pass: a08bff7d
24 user:   oldboy-10 pass: e4f4d39f
25
26 检查创建错误日志,发现为空
27 [[email protected] tmp]# cat fail_user.txt
28
29 重复执行,要先删除原来用户,执行下面命令,可以批量删除
30 [[email protected] tmp]# for n in $(seq -w 10);do userdel -r oldboy-$n;done
31
32 重复执行一次,又会生成不一样的密码。
33 [[email protected] tmp]# sh test.sh
34 adduser oldboy-01 [  OK  ]
35 adduser oldboy-02 [  OK  ]
36 adduser oldboy-03 [  OK  ]
37 adduser oldboy-04 [  OK  ]
38 adduser oldboy-05 [  OK  ]
39 adduser oldboy-06 [  OK  ]
40 adduser oldboy-07 [  OK  ]
41 adduser oldboy-08 [  OK  ]
42 adduser oldboy-09 [  OK  ]
43 adduser oldboy-10 [  OK  ]
44
45 检查结果,发现密码变了。
46 [[email protected] tmp]# cat user.txt
47 user:   oldboy-01 pass: 7152783a
48 user:   oldboy-02 pass: 5f714e8a
49 user:   oldboy-03 pass: 68f85e07
50 user:   oldboy-04 pass: d21fa12d
51 user:   oldboy-05 pass: 35cd16ed
52 user:   oldboy-06 pass: 8760591b
53 user:   oldboy-07 pass: 497bff6b
54 user:   oldboy-08 pass: d8266b5d
55 user:   oldboy-09 pass: 27404ce2
56 user:   oldboy-10 pass: cc35251a
时间: 2024-10-11 18:21:48

批量建立用户及密码的相关文章

如何在域中批量建立用户

域中批量建立用户 标签:张兆森 如何在域里批量建立用户.实现的目的是什么. 减轻管理员建立用户的步骤,省时间.减轻工作量. 实验步骤: 1.先打开Excel表格创建需要导入的用户的列表,并保存为.CSV文件,移动到域控制器下的某个磁盘里 2.再去域里建立一个OU(即组织单位) 在进入命令行工具里去 3.输入for /f "tokens=1,2,3,4,5,6,7 delims=,"  %a in (c:\Book11.csv) do dsadd user "cn=%c,ou=

linux实战考试题:批量创建用户和密码-看看你会么

linux实战考试题:批量创建用户和密码-看看你会么? 老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: # echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|p

怎么批量建立用户和将用户放入用户组

方案如下 HT公司准备部署文件服务器,实现严格的权限管理.让用户只能访问自己的文件.公司一共3个部门15名员工,要求创建这15个账号,然后按部门分类管理. 部门 中文名 英文名 Manager 凯文 Kevin Information Department (信息部) 田田 Andrew 麦麦 Michael 小刚 Ethan 麦兜 Mike 大卫 David Financial Department (财务部) 克克 Noah 文文 Emily 小迪 Eadison Sales Departm

linux实战考试题:批量创建用户和密码(不能使用循环)

批量创建10个用户,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: [[email protected] /]# echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|passwd --stdin \1; echo -e "

(转)linux实战考试题:批量创建用户和密码-看看你会么?

老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1:[[email protected] /]# echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|passwd --

多实例MySQL批量添加用户和密码并授权

OS:Cent OS 6.3 DB:5.5.14 如果一台服务器上有100个MySQL数据库实例,此时需要给不同端口的几个数据库添加用户名.密码并授权应用IP,一个个授权没问题,反正累的不是我,哇咔咔. 创建add_user.sh #/bin/bash#add user to mysql db passpwd="yoon" cat user.txt | while read userdo  port=`echo $user |awk '{print $1 }'`  username=`

Linux-练习-批量创建用户5密码长度

1 echo admin{1..10}|xargs -n 1 | xargs -i echo '{}:openssl rand -base64 5' | awk -F":" '{print "useradd",$1";""x=$("$2");echo $x >> password.doc;echo $x""|""passwd --stdin",$1}' |

Linux中用户和用户组的管理以及如何批量创建用户

一.创建新用户及管理新用户 1).添加新用户 命令格式:useradd [options] username 选项含义: -u:指定用户的UID -c:添加对用户的描述性文字 -s:指定用户的登录脚本 -e:设置账号的实效日期 -f:值为0表示密码立即实效 值为1表示密码永久不实效 -d:指定用户的家目录 -g:指定用户的所属组 -G:指定用户的附属组 使用该命令添加新用户完成后,系统将为用户创建一个与用户名相同的组(且UID=GID),称为私有组,这一方法是为了能让新用户与其他用户隔离,确保安

mysql 建立用户

mysql> create database data;                 #新建数据库data mysql>  grant all on *.* to 'abc'@'localhost' identified by '123456';  #建立用户和密码