作为一个系统管理员,可能要经常的为机器添加用户,可能是在一台机器上添加很多用户,也有可能是在很多机器上要添加同一个用户。

基本上,批量添加用户有两种方式,一是用useradd + passwd命令配合脚本来添加,二是用newusers+chpasswd来添加。

第一个方法合适用来在不同的机器上添加不同的用户,或者在同一台机器上添加大量的规则命名的用户。第二个方法可用于在同一台机器上添加大量的用户名单,如将A机上的用户全部添加到B机上。

方法一:useradd + passwd命令配合脚本来添加

脚本的基本思想是:利用循环+判断,从一个用户名列表文件中一条一条读取用户名,然后调用useradd命令一个用户一个用户进行添加。

其中users.list文件内容如下:

johnson lily kelly

执行结果如下图所示:

由脚本知,用户的初始密码被设为用户名+123,大家可以按需修改使用。

方法二、newusers+chpasswd批量添加用户

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

我们要创建包含新用户的文件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批量添加用户,此时用户是没有密码的

[root@localhost ~]# newusers userfile.txt

2、执行命令/usr/sbin/pwunconv,将/etc/shadow产生的shadow密码解码,然后回写到/etc/passwd中, 并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消shadow password功能,关闭影子文件。

[root@localhost ~]# pwunconv

3、用chpasswd批量修改密码 [root@localhost ~]# chpasswd < userpwdfile.txt

4、最后不要忘了恢复影子文件,保证安全,您可以通过下面的命令来映射到 /etc/shadow文件名

[root@localhost ~]# pwconv

linux下批量添加新用户的更多相关文章

  1. Linux下如何创建新用户

    Linux下如何创建新用户 Linux系统中,只有root用户有创建其他用户的权限.创建过程如下:   useradd -d /home/newuser newuser(设定了该用户的主目录和用户名) ...

  2. linux 下如何添加一个用户,并给予用户root权限

    分类专栏: Linux   1.添加用户,首先用adduser命令添加一个普通用户,命令如下: adduser tommy //添加一个名为tommy的用户 passwd tommy //修改密码 C ...

  3. Linux下批量添加用户

    添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个.上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加, 必然要找一种简便的创建大量用户的方法. ...

  4. linux下如何添加一个用户并且让用户获得root权限 备用

    (2010-12-02 09:58:30) 转载▼ 标签: 帐号 权限 杂谈 分类: Linux 测试环境:CentOS 5.5 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: # ...

  5. linux下如何添加一个用户并且让用户获得root权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing pass ...

  6. windowsxp系统下SVN添加新用户

    以我部署的文件为例: 我在f盘下新建一个zzz文件夹将其部署为svn共享工程后,新来员工需要添加svn账号以获取工程. 总共三步begin: 1.进入工程文件夹ZZZ在里面有一个conf文件夹如图: ...

  7. linux下如何添加一个用户并且让用户获得root权限【转载】

    原文:http://www.cnblogs.com/johnw/p/5499442.html 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加 ...

  8. 给Linux添加新用户,新建用户,新建帐号

    给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /sbin/nologin - ...

  9. linux不使用useradd添加新用户

    不使用useradd创建新的用户 1.进入用户特征信息:/etc/passwd 编辑: vim /etc/passwd 命令模式 :G 进入末行 进入编辑模式 :在最后添加新用户信息: 例:new_u ...

随机推荐

  1. HEVC代码记录(删除)

    得到编码残差  TEncSearch.cpp 4543:rpcYuvResi->subtract( pcYuvOrg, pcYuvPred, 0, uiWidth );

  2. 摄像机distortion vector、project matrix、camera matrix

    关于标定后图像如何校正:http://wiki.ros.org/image_pipeline/CameraInfo ros distortion vector 参数顺序:http://docs.ros ...

  3. appium--【Mac】提示报错“could not launch WebDriverAgentRunner..........."

    运行appium   WebDriverAgentLib和WebDriverAgentRunner都编译到真机运行成功,未在桌面生成一个没图标的WebDriverAgentRunner 连接并选择自己 ...

  4. Graves of the Internet - 互联网坟墓

    Graves of the Internet - 互联网坟墓 互联网公司逝去产品列表 以此祭奠那些夕阳下的奔跑,祭奠那些逝去的青春 演示地址 点击 这里 https://myvin.github.io ...

  5. ubuntu怎么连接centos远程桌面

    1.系统软件设置CentOS端:查看是否安装了vnc软件# rpm -q vnc vnc-serverpackage vnc is not installedvnc-server-4.1.2-14.e ...

  6. 2017 计蒜之道 初赛 第五场 B. UCloud 的安全秘钥(简单)

    暴力. 暴力枚举$S$串的每一个长度为$m$的子串,排序判断即可. #include <iostream> #include <cstdio> #include <cst ...

  7. ZOJ 3613 Wormhole Transport

    斯坦纳树,$dp$. 先求出每个状态下连通的最小花费,因为可以是森林,所以$dp$一下. #include<bits/stdc++.h> using namespace std; int ...

  8. JS模拟PHP的sleep

    function sleep(n) { var start = new Date().getTime(); while(true) { if(new Date().getTime() - start ...

  9. redis_NoSql入门概述数据模型简介

    以下面的背景去对比关系型数据库和非关系型数据库的差异(一个电商客户.订单.订购.地址模型来对比以下关系型数据库和非关系型数据库) 传统数据库一般设计会使用ER图(1:1/1:N/N:N,主键等) 而N ...

  10. 【贪心大水题】BZOJ3410-[Usaco2009 Dec]Selfish Grazing 自私的食草者

    [题目大意] 给出n个区间,问最多选取多少个区间使得它们互相不重叠. [思路] 水题quq改善心情用.按照右端点大小排序,每次更新上一次的右端点,如果当前左端点大于上次右端点可取. #include& ...