Ubuntu是基于linux的免费开源操作系统,同时也是真正意义上的“多任务多用户”操作系统,既然是多用户系统,自然就涉及到创建多个用户的问题。同时由于Ubuntu系统中的root用户具有最高权限,无节制地使用root用户容易发生误操作破坏系统,因此在Ubuntu中创建多个用户也是很有必要的。本经验要教大家如何使用Ubuntu命令行批量创建用户并设置随机密码。首先需要明白在Ubuntu中创建一个新用户的命令是 useradd username,如图命令是创建了一个名为“duanzhang666”的用户。虽然创建多个用户可以采用重复执行useradd命令的方法实现,但是这种操作很繁琐,如果在实验环境中要创建100个用户岂不是要重复输入100遍?因此不建议采用这种方法批量创建用户。

 

工具/原料

 
  • Ubuntu操作系统

方法/步骤

 
  1.  

    Ubuntu中创建新用户需要先获取root管理员权限,因此先使用sudo su命令获取最高权限。注意获取root权限需要输入你自己的用户密码。

  2.  

    批量创建20个以“duanzhang”为用户名前缀的用户,命令为:seq -w 20|sed -r "s#(.*)#useradd duanzhang\1#g"|bash 。在这条命令中“duanzhang”表示新建用户的用户名前缀,你可以修改为你需要的其他字符串;“20”表示创建20个用户,也表示这20个用户的用户名后缀分别为1到20。明白这两个字符串表达的意思后你就可以根据你自己的需要修改命令行了。

  3.  

    查看新用户是否创建成功,命令为:tail -20 /etc/passwd 。这条命令的意思是输出passwd文件的后20行。这里为什么是后20行呢?因为我们刚刚创建了20个新用户,系统会将用户名写入到passwd文件的末尾,每一个用户占据一行,因此后20行就是刚刚生成的20个用户的信息。从图中可以看到已经成功创建了用户名为“duanzhang01”、“duanzhang01”到“duanzhang20”的20个新用户。

  4.  

    将要修改的用户名和密码写入pass.log文件中,命令为:echo duanzhang{01..20}:$((RANDOM))|tr " " "\n" >pass.log 。命令里的RANDOM表示生成随机数,以作为随机密码。

  5.  

    查看生成的pass.log文件的内容,以确认是否成功写入文件。从图中可以看到生成了20行数据,每一行使用冒号隔开用户名及其对应的密码,可以看到这20个密码并无规则,是随机的。

  6.  

    执行chpasswd命令:chpasswd<pass.log 。其中chpasswd命令在Ubuntu中用于批量更改用户密码,它需要先读取我们前一步生成的密码文件pass.log,然后根据该文件内容修改密码。

  7.  

    根据pass.log文件里记录的这20个用户的密码逐个查看对应的随机密码是否有效。使用su命令切换到新用户并输入pass.log里记录的对应的密码,成功登录,可见用户创建成功。到此“如何在Ubuntu中批量建立用户并设置随机密码”问题成功解决。

     
 

最新文章

  1. 你知道哪些linux命令,能把文件上传到远程linux服务器
  2. matlab随笔(三)
  3. sdutoj 2623 The number of steps
  4. 如何使用同一个Action中的不同方法
  5. Android流量监控 思路,想法
  6. ^M的前世今生
  7. P125、面试题19:二叉树的镜像
  8. HDU-4681 String 枚举+DP
  9. my_pnd_start
  10. codeforces 337D Book of Evil (树形dp)
  11. Ubuntu常用命令与技巧
  12. Linux中部署JAVA程序
  13. 算法导论学习---红黑树具体解释之插入(C语言实现)
  14. 用Ajax实现自动刷新news功能
  15. Django--Ajax 提交
  16. WebPack基本概念以及基本使用
  17. Java HttpClient Basic Credential 认证
  18. skipfish介绍
  19. [2018 ACL Short and System] 对话系统
  20. 2017多校第8场 HDU 6134 Battlestation Operational 莫比乌斯反演

热门文章

  1. Docker 构建网络服务后本机不能访问
  2. openfire ping的smack解决方案(维持在线状态)
  3. pthread之线程堆栈
  4. 【转】mysql 索引过长1071-max key length is 767 byte
  5. 【MLP】多层感知机网络
  6. Ubuntu常用安装源
  7. C#学习笔记(25)——用刻盘器批量从U盘删除添加文件
  8. ajaxfileupload.js ajax上传文件(含application/json)
  9. 算法篇---Shell排序(希尔)算法
  10. Oracle 执行报错表空间或临时表空间不足,降低水位线方法