老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现。

方法1:
[root@oldboy /]# echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|passwd --stdin \1; echo -e "\1 \t echo "$pass"">>/tmp/oldboy.log#g'|bash

上述命令实际就是再拼N条下面的命令的组合,举一条命令stu01用户的过程拆解如下:
useradd stu01 ;
pass=$((RANDOM+10000000));
echo "$pass"|passwd --stdin stu01;
echo -e "stu01 echo "$pass"">>/tmp/oldboy.log
特别说明:如果用shell循环结构会更简单,之所以限制使用循环的目的是锻炼学生的基础命令运用
能力,学到现在还没学到SHELL循环课程呢

方法2:来自酒醉饭饱
echo stu{11..12}|xargs -n1 useradd ;echo stu{11..12}:cat /dev/urandom|tr -dc 0-9|fold -w8|head -1|xargs -n1|tee -a pass.txt|chpasswd

方法3:来自D调的华丽
有个参数写错了, cut时应该取第二个字段 应是 -f2 结果应该是这样: echo stu{21..30} | tr ' ' '\n' | sed -e 's/^/useradd /' -e 's/(stu[0-9]{2})$/\1 \&\& echo "\1:echo $[$RANDOM**3] | cut -c1-8" | tee -a userInfo.txt | cut -d: -f2 | passwd --stdin \1/' | bash
功能: 创建10个用户 分别是 stu21-stu30 其密码是用随机数变量RANDOM生成,均保存至 userInfo.txt中,格式: username:passwd 这个写的不算好 如果有更好的一定要分享哦! 上面的随机数 我之前是用日期生成的,是不对的,因为有可能会有重复现象,所以我后来干脆用RANDOM**3取其前8位,可确保唯一性

方法4:来源 freeandeasy
echo stu{01..10} |tr ' ' '\n'|sed -rn 's@^(.*)$@useradd \1 ; echo $RANDOM|md5sum|cut -c 1-8 >/data/\1;cat /data/\1|passwd --stdin \1@gp'|bash
此题无法自己实现的同学都属于命令基础不过关,需要加足马力下功夫。
转自老男孩老师

转载于:https://blog.51cto.com/13730107/2119331

linux批量创建用户和密码相关推荐

  1. linux批量创建用户1000,Linux下批量创建用户

    Linux下批量创建用户主要有以下两种方法: 方法一: 1,新建一个文件user.txt,以/etc/passwd 为模板 2,再次新建一个文件passwd..txt,以/etc/shadow 为模板 ...

  2. linux 批量创建用户和删除用户

    以下为批量创建用户: #首先我们需要创建一个xxx.txt文件,把需要的我们创建的用户写在这个文本里面来,注意:每写完一个用户都需要换行. vim user.txt user1 user2 user3 ...

  3. linux suse创建用户及密码,suse linux下创建用户方式

    suse linux上创建用户方式 当需要数据共享时,在suse linux上创建用户需要注意以下两点: 1. 所有服务器相同的用户名具备相同的id号. 2. 所有用户属于同一个组(如users组). ...

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

    批量创建10个用户,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: [root@oldboy /]# echo stu{01 ...

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

    批量创建10个用户stu01-stu10,并且设置随机8位密码,要求:不能用shell循环(例如:for,while等),只能用linux命令及管道实现. 此题考察的是基础命令的熟练运用,因此,限制了 ...

  6. Linux 批量创建用户及设置随机密码

    一.项目需求 批量创建10个用户stu01-stu10,并且设置随机8位密码,要求:不能用shell循环(例如:for,while等),只能用linux命令及管道实现. 二.实现方法(一) 1) 创建 ...

  7. Linux 批量创建用户脚本

    创建名为test.sh的脚本文件,实现批量创建99个用户,用户名为user1,user2-user99 所有用户密码为 chinaskill20! 验证:cat /etc/passwd 脚本解析: f ...

  8. [Linux基础]Linux批量创建多个用户的方法(附:创建后切换用户变成-bash4.2-$的解决方法)

    导航目录 一.批量创建多个用户 1.创建用户组 2.按照以下格式创建文件 3.使用`newusers` 命令运行 4.运行成功,可使用`tail -n 5` 查看`/etc/passwd`信息 二.异 ...

  9. Linux主机密码设置,Linux如何批量创建用户和设置密码

    批量创建用户 用VIM创建一个文本,如testUsers.txt(名字随意),根据/etc/passwd里面的规格进行写.. user01::500:500:USER01:/home/user01:/ ...

最新文章

  1. java bufferedwrite_Java BufferedWriter BufferedReader 源码分析
  2. J-Focus动画应用框架使用教程
  3. html中两行三列怎样写,html – Flexbox 3 divs,两列,一列有两行
  4. (二十一)unity4.6学习Ugui中文文档-------交互-Supported Events amp; Raycasters
  5. Xcode更改ios app图标
  6. JZOJ 3813. 【NOIP2014模拟9.7】我要的幸福
  7. html美化file按钮,css 美化file按钮
  8. datajs.js response handling
  9. Pytorch--Tensor, Numpy--Array,Python--List 相互之间的转换
  10. android 编译共享ccache的缓存
  11. 决策树随笔-深度AI科普团队
  12. mba案例分析_2020年(第八届)MBA企业案例分析实践课程暨大赛完美收官!
  13. C++ vector理解
  14. 修改echarts饼状图位置
  15. 走进波分 -- 03.光纤传输系统关键参数
  16. Eclipse中的Lua插件 LDT
  17. 计算机专业surface pro,微软Surface Pro 7详细评测:仍旧是最好的二合一平板电脑
  18. python 抢票_Python3.x:抢票
  19. android ip查看工具,安卓手机查看IP地址的两种方法
  20. java mail 回复邮件_JavaMail - 退回邮件( Bounced Messages)

热门文章

  1. 非对称加密算法RSA公钥私钥的模数和指数提取方法
  2. 【Qt】Log4Qt(四):周期性输出日志,并且限制日志文件数量
  3. 【Qt】Qt再学习(四):Editable Tree Model Example
  4. 计算机组装cpu用哪种好,教你电脑处理器哪款好
  5. git add 文件夹_Git的下载安装以及基本操作
  6. Java项目:家庭财务管理系统(java+Springboot+ssm+mysql+maven)
  7. Java项目:旅游网站管理系统设计和实现(java+springboot+jsp+mysql+spring)
  8. HTML页面中使两个div并排显示
  9. 前端try catch是如何捕获异常的_一文告诉你如何优雅处理前端异常?
  10. 右滑手势导航返回的相关设置