一、为什么需要大批量添加用户;

  我们什么时候才需要大批量添加用户呢?有时我们需要让几十个或更多的用户在主机上完成相同或相似的任务,比如我们想同时添加一堆的ftp 用户,这些ftp用户归属同一组,但不允许他们通过终端或远程登录服务器;有时我们可能为了教学,比如我们有50个学生,并且每个学生在服务器上有一个独立的用户名,能登录系统,并能管理自己的帐号或完成一些在自己权限下的作业;

  二、批量用户添加流程;

  批量添中用户流程是通过newusers 导入一个严格按照/etc/passwd 的书写格式来书写内容的文件来完成添加用户,然后通过chpasswd 导入用户密码文件来完成批量更新用户密码的过程;

  1、newusers 成批添加用户的工具;

  其用法很简单,newusers 后面直接跟一个文件;文件格式和/etc/passwd 的格式相同;

  用户名1:x:UID:GID:用户说明:用户的家目录:所用SHELL

  举例:

  win00:x:520:520::/home/win00:/sbin/nologin

  win01:x:521:521::/home/win01:/sbin/nologin

  ......

  值得一提的是关于SHELL类型,查看主机上所有SHELL ,可以通过chsh 来查看;

  [root@localhost beinan]# chsh --list

  /bin/sh

  /bin/bash

  /sbin/nologin

  /bin/ksh

  /bin/tcsh

  /bin/csh

  /bin/zsh

  其中除了/sbin/nologin ,其它类型的SHELL 都能登录系统;nologin 大多是虚拟用户用的SHELL ,也就是说虽然他是系统用户,但他并无登录系统的权限;如果您想添加这类用户,就把他的SHELL 设置成/sbin/nologin ,比如上面的例子;

  关于用户名、UID、GID及用户的家目录是怎么回事,您可以读相应的参考文档;

  2、chpasswd 批量更新用户口令工具;

  chpasswd 工具是成批更新用户口令的工具,是把一个文件内容重新定向添加到/etc/shadow中;

  chpasswd < 文件

  但文件的内容并不是没有约定的,必须以下面的格式来书写,并且不能有空行;

  用户名:口令

  用户名1:口令1

  用户名2:口令2

  举例:

  win00:123456

  win01:654321

  ... ...

  三、批量添加用户实例;

  1、首先我们创建用户文件和密码文件;

  我们要创建包含新用户的文件userfile.txt ;另一个是为新添加的用户设置密码的userpwdfile.txt;

  [root@localhost ~]# touch userfile.txt

  [root@localhost ~]# touch userpwdfile.txt

  然后用文本编辑器打开文件userfile.txt,添加如下内容;

  win00:x:520:520::/home/win00:/sbin/nologin

  win01:x:521:521::/home/win01:/sbin/nologin

  win02:x:522:522::/home/win02:/sbin/nologin

  win03:x:523:523::/home/win03:/sbin/nologin

  win04:x:524:524::/home/win04:/sbin/nologin

  win05:x:525:525::/home/win05:/sbin/nologin

  win06:x:526:526::/home/win06:/sbin/nologin

  win07:x:527:527::/home/win07:/sbin/nologin

  win08:x:528:528::/home/win08:/sbin/nologin

  win09:x:529:529::/home/win09:/sbin/nologin

  userfile.txt 文件内容格式和 /etc/passwd 的格式是一样的,必须严格按照/etc/passwd 的格式来书写;上面所添加的用户都不能登录系统,但完全能用于ftp登录,但您得在相应ftp服务器的配置文件中打开让本地用户有读写权限;如果您想让上面的部份用户可以登录系统,可以把SHELL类似改一改,比如改成/bin/bash ;

  我们再来书写新增用户的密码文件userpwdfile.txt内容;这个文件的内容中的用户名要与 userfile.txt用户名相同;也就是说我们先是添加了win00到win09的用户,现在要为这些用户更新密码;比如下面的;

  win00:123456

  win01:654321

  win02:123321

  win03:qweewq

  win04:google

  win05:adadwc

  win06:wsscee

  win07:xxec32

  win08:543wew

  win09:3ce3wf

  2、通过newusers和chpasswd 完成批量添加用户;

  [root@localhost ~]# newusers userfile.txt

  [root@localhost ~]# chpasswd < userpwdfile.txt

  这样就算添加完成了,如果您发现 /etc/passwd 中能发现用户的明口令,您可以通过下面的命令来映射到 /etc/shadow文件名;

  [root@localhost ~]# pwconv

  四、后记;

  用户管理就算差不多完成了,到目前为止,我已经写了六篇,虽然质量不太高,但也算能称得上比较系统;在以后的几天里,我要写一写文件管理;呵。。。进度是慢了点,但还是在坚持着;坚持就是胜利,不是吗?

  五、关于本文;

  本文是大批量添加用户的一个实例,主要是newusers和chpasswd的用法的解说;实话实说,这两个工具还是有用的;至于能用在哪,我前面已经说过了,可以用在ftp的虚拟用户,可以用到教学中;

  本文没有技术含量,不值一提,但不写出来,感觉对于一个系列文档来说又少了内容;还是写出来为好

转载于:https://blog.51cto.com/stevenlee87/1196404

newusers和chpasswd的用法相关推荐

  1. linux更改用户的shell,Linux下通过shell更改用户密码

    echo "root:admin" | chpasswd root的密码改为admin pwconv 同步到shadow文件 newusers和chpasswd的用法 日期:200 ...

  2. linux 给文件添加用户名和密码是什么格式,linux成批添加用户的命令

    当我们遇到教学这类情况时我们需要批量添加学生用户,纳闷怎么才能做到成批添加用户呢?下面由学习啦小编为大家整理了linux成批添加用户命令的相关知识,希望大家喜欢! linux批量添加用户命令--new ...

  3. LINUX新手入门及安装配置FAQ(http://bbs.blueidea.com/viewthread.php?tid=635906amp;page=)

    LINUX新手入门及安装配置FAQ 剑气凌人 [楼主] 尖脐 荣誉管理团队 帖子 6386  体力 10046   威望 168   当前 北京 海淀区 发短消息 个人网站 1# 大 中 小 发表于 ...

  4. [转贴]LINUX新手入门及安装配置FAQv

    [转贴]LINUX新手入门及安装配置FAQ 网络技术论坛 > Unix/Linux 专区 > Unix/Linux安装和管理 linmingchongAug 24 2004, 10:47 ...

  5. linux新手入门及安装全攻略(转载)

    入门篇安装篇                   Q:如何制作安装磁盘? 你可以使用两中方法制作安装磁盘.在M$-DOS下,可以使用专门为其开发的rawrite命令(安装光盘/dosutils下),将 ...

  6. [转贴]LINUX新手入门及安装配置FAQ

    入门篇安装篇 Q:如何制作安装磁盘? 你可以使用两中方法制作安装磁盘.在M$-DOS下,可以使用专门为其开发的rawrite命令(安装光盘/dosutils下),将boot.img(安装光盘/imag ...

  7. 2020-8-20 第一篇记录学习

    LINUX安装配置(详细) 版权声明:本文为转载文章,原文出处链接和如下. 本文链接:https://blog.csdn.net/xu_benjamin/article/details/8099860 ...

  8. linux路径信息,二、Linux的基础知识-路径、文件的信息查看、编辑及管理

    第2周作业 (看老王视频) 描述Linux发行版的系统目录名称命名规则以及用途. 描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息? 总结软连接和硬连接区别,并用实例操 ...

  9. linux添加用户后怎么查看,linux怎样查看系统新添加的用户?

    linux怎样查看系统新添加的用户? 答案:4  信息版本:手机版 解决时间 2019-10-06 23:42 已解决 2019-10-06 06:26 如题!老板把服务器让别人配的,但是现在屡次发生 ...

  10. 8.1 linux基础,创建用户

    1. 创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuse -c, --comment COMMEN ...

最新文章

  1. Atitit.java jna  调用c  c++ dll的原理与实践  总结  v2  q27
  2. HBase解决Region Server Compact过程占用大量网络出口带宽的问题
  3. RuntimeError: dictionary changed size during iteration 解决办法
  4. VTS工具测试指定的testcase函数(以VtsHalKeymasterV4_0TargetTest为例)
  5. Java的13个规范
  6. ext如何将值存入变量_变量类型之值类型与引用类型
  7. k40游戏增强版服务器维护中,Redmi K40 游戏增强版发布,第四台 K40 出现了
  8. C#细说多线程(下)
  9. python入门--动态绑定属性和方法
  10. vc++ 2008 Redistributable Setup Error 1935.An error occurred during the ...
  11. [绍棠] Xcode9无线调试教程
  12. 哲学思考之否定之否定规律
  13. 在VM虚拟机上装“黑苹果
  14. 超级时尚炫酷快速图文展示PR2021模板MOGRT|AE模板
  15. zzuli oj 2532: 婷婷是土豪 DFS深搜
  16. 删除链接文件 linux,rm 删除链接文件的问题
  17. 3.12 杭电复试题2014
  18. vue-cli3.x项目使用tinymce富文本编辑器
  19. es6转es5 在线转换工具
  20. flash as3.0 五子棋的游戏制作

热门文章

  1. android中listview没有item也能点击事件,ListView中的Item不能点击的解决方法
  2. 运行vue遇到的坑(续更
  3. Linux Bash脚本练习2
  4. 纵观中日韩市场 PC视频会议高清时代来临
  5. 【Linux】自主实现my_sleep【转】
  6. hdu-acm steps Common Subsequence
  7. delete了,析构函数却没有调用
  8. 【java】getWriter() has already been called for this
  9. [linux] 查看目录/文件字节数
  10. java.text.ParseException: Unparseable date: