`

newusers和chpasswd的用法

阅读更多

一、为什么需要大批量添加用户
我们什么时候才需要大批量添加用户呢?有时我们需要让几十个或更多的用户在主机上完成相同或相似的任务,比如我们想同时添加一堆的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的虚拟用户,可以用到教学中;

分享到:
评论

相关推荐

    在Linux系统中批量添加用户的操作流程

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

    Linux下批量添加用户.doc

    但是,当需要添加大量用户时,使用 useradd 命令一个一个地添加用户将变得非常困难和耗时。因此,需要一种简便的方法来创建大量用户。 Linux 系统提供了创建大量用户的工具,可以让用户快速创建大量用户。下面是...

    实战1-RHEL7-Linux批量添加用户

    使用useradd命令逐一手动添加用户显然是不现实的,因此需要掌握更为高效的批量创建用户的方法。 首先,了解Linux系统中的用户账户类型和它们的UID分配是非常重要的。超级用户root拥有UID为0,普通用户的UID范围通常...

    Linux基本设置

    这里,`-u`、`-g`、`-d`和`-s`选项分别用于指定UID、GID、主目录和Shell,`echo`命令与管道符结合`chpasswd`用于设置密码。 总的来说,理解并熟练掌握这些Linux用户管理的基础操作对于系统管理员来说至关重要,这...

    linux操作实验linux下用户组管理.docx

    - **批量创建用户**:使用`newusers`命令可以从一个文件中读取用户信息并批量创建用户。 - **批量修改密码**:使用`chpasswd`命令可以从一个文件中读取用户密码信息并批量修改密码。 ### 四、实验结果示例 - 创建...

    Linux-期末考试题目类型教学教材.docx

    - `newusers`命令批量创建用户,配合文本文件定义用户信息。 - `chpasswd`命令批量修改用户密码,可以基于用户名作为密码的方式。 4. **文件系统和权限**: - `/etc/passwd`文件包含用户账户信息,如用户名、...

    Linux用shell脚本批量生成用户组和密码

    通过循环输出语句构造用户信息文件和密码信息文件,然后直接应用newusers命令批量建立用户,用chpasswd命令批量设置初始密码。 关键技术:用echo命令和重定向输出构造用户信息文件和密码信息文件。 echo “$uname:x:...

    linux操作系统实验linux下用户与组的管理借鉴.pdf

    15. 用 newusers 命令批量添加 10 个用户,要求为 stu1~stu10,UID 为 771~780。 16. 用 chpasswd 命令批量修改以上 10 个用户的密码,密码分别为 000000~999999。 四、实验结果: 1. 用户管理 (1)新建用户 wang...

    linux操作系统实验linux下用户与组的管理.pdf

    本实验的主要目的是了解/etc/passwd和/etc/group文件的含义,掌握桌面环境下管理用户与组群的方法,掌握利用shell命令管理用户与组群的方法,掌握批量新建用户账户的步骤和方法。 一、实验目的 Linux 操作系统实验...

    一套简单的linux测试题

    * `newusers` 命令可以批量增加用户。 * `chpasswd` 命令可以批量设置密码。 三、 Linux 用户管理 * 用户信息记录在 `/etc/passwd`、`/etc/shadow` 等文件中。 * 可以使用 `useradd` 命令来添加用户。 * 可以使用 ...

    117张淑妮实验4.docx

    * 使用 `wc` 命令查看文件字节数、行数和单词数,例如 `wc /etc/shadow` * 使用 `less` 命令分页显示文件内容,例如 `less /etc/profile` * 使用 `head` 命令查看文件头部内容,例如 `head /etc/profile` * 使用 `...

    linux实验三_Linux系统登录及用户管理

    1. **掌握系统远程登录的常用命令**:这包括telnet、rsh等命令的使用方法及其应用场景。 2. **理解与用户账号及组账号相关的几个重要文件**:了解如`/etc/passwd`、`/etc/shadow`等文件的作用和内容。 3. **掌握...

    linux用户和组命令实例分析【切换、添加用户、权限控制等】

    本文将详细解析一些常用的Linux用户和组命令,包括用户切换、批量添加用户以及赋予普通用户特殊权限的方法。 1. **用户相关命令** - **su**:用于切换用户身份。从root用户切换到普通用户通常不需要密码,但普通...

    C语言 util-linux-2.39.1.zip

    - 熟悉man手册页,掌握每个工具的使用方法和选项。 - 实践编写和修改util-linux中的工具,加深对Linux内核和C语言的理解。 5. **利用util-linux进行系统维护:** - 在日常系统管理中,熟练运用util-linux工具...

    linux实验大全

    下面将详细介绍文档中的几个关键实践案例,帮助读者更好地理解和掌握Linux操作系统的使用。 ### 关键知识点一:用户组与用户管理 #### 1. 创建用户组 - **命令**: `groupadd -g 60009 students` - `-g` 选项用于...

    AD批量添加用户

    AD批量添加用户 AD批量添加用户是活动目录技术中的一项重要操作。...使用dsadd命令和CMD中的for循环,我们可以轻松地批量添加用户到AD中,而使用dsquery命令和dsmod命令,我们可以批量修改某个OU下的所有用户的密码。

    用于管理 Active Directory 的 11 个基本工具.doc

    了解这些工具的具体功能和使用方法对于任何负责 Active Directory 管理的 IT 专业人士都是非常有价值的。 此外,除了这些内置工具外,还可以考虑使用其他免费的第三方工具来增强 AD 管理能力。这些工具通常提供了更...

    使用mfc+MySQL完成的学生成绩管理系统

    《使用MFC+MySQL构建学生成绩管理系统》 在当今信息化时代,教育管理系统的应用已经十分广泛,其中学生成绩管理系统的开发对于提高教学管理效率具有重要意义。本系统基于Microsoft Foundation Classes (MFC)和MySQL...

    用于管理AD的11个基本工具.pdf

    创建新的用户账户需要先编写一个`.ldf`文件,然后使用`ldifde – i – f NewUsers.ldf – s DC1`这样的命令进行导入。 这些工具对于AD管理员来说非常有用,特别是在处理批量用户管理任务时,能够提高效率并减少手动...

Global site tag (gtag.js) - Google Analytics