Chinaunix首页 | 论坛 | 博客
  • 博客访问: 910840
  • 博文数量: 647
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 6044
  • 用 户 组: 普通用户
  • 注册时间: 2019-11-08 16:30
文章分类

全部博文(647)

文章存档

2021年(268)

2020年(297)

2019年(82)

我的朋友

分类: LINUX

2020-11-25 16:37:51

  一。批量添加用户stu01 stu02 stu03 并设置123456
  化简为 添加3个用户设置固定密码
  1.最终目标:
  useradd stu01 ;echo 123456|passwd --stdin stu01
  useradd stu02 ;echo 123456|passwd --stdin stu02
  useradd stu03 ;echo 123456|passwd --stdin stu03
  2.第1个里程碑-生成用户名
  方法1
  [root@oldboyedu59 ——]# echo stu{013}|xargs -n1
  stu01
  stu02
  stu03
  第2个里程碑-命令拼接
  利用sed/awk 里面
  sed 's###g' 后两个井号之间写什么 屏幕就显示什么
  awk 利用 "" 双引号里面写什么 屏幕就显示什么
  [root@oldboyedu59 ——]# echo stu{013}|xargs -n1|sed -r 's#(。*)#useradd \1#g'
  useradd stu01
  useradd stu02
  useradd stu03
  [root@oldboyedu59 ——]# echo stu{013}|xargs -n1|sed -r 's#(。*)#useradd \1;echo 123456|passwd --stdin \1#g'
  useradd stu01;echo 123456|passwd --stdin stu01
  useradd stu02;echo 123456|passwd --stdin stu02
  useradd stu03;echo 123456|passwd --stdin stu03
  补充:
  & 符号在sed命令中s###g 表示前面正则匹配到的内容
  [root@oldboyedu59 ——]# echo {110}
  1 2 3 4 5 6 7 8 9 10
  [root@oldboyedu59 ——]# echo {110}|sed -r 's#([0-9]+)#<\1>#g'
  <1> <2> <3> <4> <5> <6> <7> <8> <9> <10>
  [root@oldboyedu59 ——]# echo {110}|sed -r 's#[0-9]+#<&>#g'
  <1> <2> <3> <4> <5> <6> <7> <8> <9> <10>
  第3个里程碑-把内容运行
  bash 命令解释器
  [root@oldboyedu59 ——]# echo pwd
  pwd
  [root@oldboyedu59 ——]# echo pwd|bash
  /root
  [root@oldboyedu59 ——]# echo hostname
  hostname
  [root@oldboyedu59 ——]# echo hostname |bash
  oldboyedu59
  找一个 进行测试 测试成功最终交给bash运行
  [root@oldboyedu59 ——]# useradd stu02;echo 123456|passwd --stdin stu02
  Changing password for user stu02.
  passwd: all authentication tokens updated successfully.
  交给bash运行
  [root@oldboyedu59 ——]# echo stu{013}|xargs -n1|sed -r 's#(。*)#useradd \1;echo 123456|passwd --stdin \1#g' |bash
  Changing password for user stu01.
  passwd: all authentication tokens updated successfully.
  useradd: user 'stu02' already exists
  Changing password for user stu02.
  passwd: all authentication tokens updated successfully.
  Changing password for user stu03.
  passwd: all authentication tokens updated successfully.
  二。批量添加用户stu04 stu05 stu06 随机8位密码
  化简为 添加3个用户设置随机密码
  第1个里程碑-生成用户名
  方法1
  [root@oldboyedu59 ——]# echo stu{013}|xargs -n1
  stu01
  stu02
  stu03
  第2个里程碑-生成随机密码
  方法1 tr + head
  [root@oldboyedu59 ——]# tr -cd 'a-zA-Z0-9'   B0iV36fZ[root@oldboyedu59 ——]#
  方法2 date +md5sum/sha512sum + head
  [root@oldboyedu59 ——]# date +%N
  211379317
  第3个里程碑-命令拼接
  需要通过sed/awk拼接出下面的4个命令
  useradd stu06;
  pass=date +%N;
  echo pass∣passwd??stdinstu06;echopass stu06 >>/root/pass.txt
  通过sed/awk拼接后,想要的结果为:
  useradd stu04; pass=——date +%N——; echo $pass |passwd --stdin stu04 ; echo $pass  stu04 >>/root/pass.txt
  useradd stu05; pass=——date +%N——; echo $pass |passwd --stdin stu05 ; echo $pass  stu05 >>/root/pass.txt
  useradd stu06; pass=——date +%N——; echo $pass |passwd --stdin stu06 ; echo $pass  stu06 >>/root/pass.txt
  拼接的命令如下:
  [root@oldboyedu59 ——]# echo stu{046}|xargs -n1 |sed 's#.*#useradd &;p=$(date +%N);echo $p|passwd --stdin &;echo $p & >>/p.txt#g'
  useradd stu04;p=$(date +%N);echo $p|passwd --stdin stu04;echo $p stu04 >>/p.txt
  useradd stu05;p=$(date +%N);echo $p|passwd --stdin stu05;echo $p stu05 >>/p.txt
  useradd stu06;p=$(date +%N);echo $p|passwd --stdin stu06;echo $p stu06 >>/p.txt
  上面命令分步拆开样子:
  echo stu{046}|xargs -n1 |sed 's#.*#
  useradd &;
  p=$(date +%N);
  echo $p|passwd --stdin &;
  echo $p & >>/p.txt#
  上面随便找1条 执行 测试是否ok 测试成功就可以交给bash执行
  [root@oldboyedu59 ——]# useradd stu05;p=$(date +%N);echo $p|passwd --stdin stu05;echo $p stu05 >>/p.txt
  Changing password for user stu05.
  passwd: all authentication tokens updated successfully.
  [root@oldboyedu59 ——]# id stu05
  uid=1008(stu05) gid=1009(stu05) groups=1009(stu05)
  [root@oldboyedu59 ——]# su - oldboy
  Last login: Thu Apr 25 09:28:20 CST 2019 from 10.0.0.1 on pts/2
  [oldboy@oldboyedu59 ——]$ logout
  [root@oldboyedu59 ——]# cat /p.txt
  209574583 stu05
  [root@oldboyedu59 ——]# su - oldboy
  Last login: Thu Apr 25 12:03:36 CST 2019 on pts/0
  [oldboy@oldboyedu59 ——]$ su - stu05
  Password:
  [stu05@oldboyedu59 ——]$
  第4个里程碑-交给bash执行并测试
  交给bash执行
  [root@oldboyedu59 ——]# echo stu{046}|xargs -n1 |sed 's#.*#useradd &;p=$(date +%N);echo $p|passwd --stdin &;echo $p & >>/p.txt#g'
  useradd stu04;p=$(date +%N);echo $p|passwd --stdin stu04;echo $p stu04 >>/p.txt
  useradd stu05;p=$(date +%N);echo $p|passwd --stdin stu05;echo $p stu05 >>/p.txt
  useradd stu06;p=$(date +%N);echo $p|passwd --stdin stu06;echo $p stu06 >>/p.txt
  [root@oldboyedu59 ——]# echo stu{046}|xargs -n1 |sed 's#.*#useradd &;p=$(date +%N);echo $p|passwd --stdin &;echo $p & >>/p.txt#g'|bash
  Changing password for user stu04.
  passwd: all authentication tokens updated successfully.
  useradd: user 'stu05' already exists
  Changing password for user stu05.
  passwd: all authentication tokens updated successfully.
  Changing password for user stu06.
  passwd: all authentication tokens updated successfully.
  [root@oldboyedu59 ——]# cat /p.txt
  209574583 stu05
  570581626 stu04
  600781084 stu05
  660376548 stu06
  执行后的测试
  [root@oldboyedu59 ——]# cat /p.txt
  209574583 stu05
  570581626 stu04
  600781084 stu05
  660376548 stu06
  [root@oldboyedu59 ——]#
  [root@oldboyedu59 ——]# su - oldboy
  Last login: Thu Apr 25 12:03:45 CST 2019 on pts/0
  [oldboy@oldboyedu59 ——]$ su - stu06
  Password:
  [oldboy@oldboyedu59 ——]$ su - stu05
  Password:
  Last login: Thu Apr 25 12:04:01 CST 2019 on pts/0
  [stu05@oldboyedu59 ——]$ logout
  [oldboy@oldboyedu59 ——]$ logout
转自:https://www.oldboyedu.com/blog/1954.html
阅读(1204) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~