linux下批量添加新用户

简介:

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

基本上,批量添加用户有两种方式,一是用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

 

本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/3619179.html,如需转载请自行联系原作者
相关文章
|
7月前
|
Shell Linux 数据库
【Shell 命令集合 系统管理 】Linux 创建新用户的命令 useradd命令 使用指南
【Shell 命令集合 系统管理 】Linux 创建新用户的命令 useradd命令 使用指南
284 1
|
Ubuntu Linux 网络安全
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
本文介绍了Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录。
2882 1
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
|
安全 Linux 网络安全
百度搜索:蓝易云 ,Linux Debian11服务器安装SSH,创建新用户并允许SSH远程登录,及SSH安全登录配置!
这些步骤提供了在Debian 11服务器上安装SSH,创建新用户并允许SSH远程登录以及进行SSH安全登录配置的指南。请确保按照步骤操作,并根据您的需求进行必要的修改。
159 0
|
Linux 数据安全/隐私保护
Linux Debian11创建新用户和删除用户
Linux Debian11创建新用户和删除用户
4437 0
Linux Debian11创建新用户和删除用户
|
Ubuntu Linux Shell
【Linux问题合集003】解决无法创建新用户丨在home目录下看不见用户文件夹丨创建的用户设置密码时报错,当前用户不在 sudoers 列表中丨Ubunt不显示用户名,只显示“$“符号问题
【Linux问题合集003】解决无法创建新用户丨在home目录下看不见用户文件夹丨创建的用户设置密码时报错,当前用户不在 sudoers 列表中丨Ubunt不显示用户名,只显示“$“符号问题
4352 1
|
Linux 开发工具
【Linux】Centos7下给新用户添加sudo权限
【Linux】Centos7下给新用户添加sudo权限
688 0
|
Linux 数据安全/隐私保护
linux中的cal 查看日历、用户管理命令、useradd 添加新用户、passwd 设置用户密码、id 查看用户是否存在、su 切换用户、userdel 删除用户、who 查看登录用户信息、sudo 设置普通用户具有 root 权限
useradd-g组名用户名(功能描述添加新用户到某个组)cal[选项](功能描述不加选项,显示本月日历)useradd用户名(功能描述添加新用户)注用户组必须存在,如果不存在则会报当从root用户切换到普通用户的时候不需要输入密码,而从普通用户切换到其他普通的用户或者root用户是需要输入密码的。su用户名称(功能描述切换用户,修改完毕,现在可以用ayy帐号登录,然后用命令sudo,即可获得root权限进行操作。(2)userdel-r用户名(功能描述用户和用户主目录,都删除)(2)whoami(功能描述显示登录用户的用户名以及登陆时间)(1)userdel用户名(功能描述删除用户但保存用户
292 1
linux中的cal 查看日历、用户管理命令、useradd 添加新用户、passwd 设置用户密码、id 查看用户是否存在、su 切换用户、userdel 删除用户、who 查看登录用户信息、sudo 设置普通用户具有 root 权限
|
算法 安全 Linux
[OS-Linux] 创建新用户以及 使用私钥登录Linux
[OS-Linux] 创建新用户以及 使用私钥登录Linux
332 0
[OS-Linux] 创建新用户以及 使用私钥登录Linux
|
Linux 网络安全 数据安全/隐私保护
linux中的passwd 设置用户密码、id 查看用户是否存在、su 切换用户linux中的cal 查看日历、用户管理命令、useradd 添加新用户linux的date 显示非当前时间、date 设置系统时间、ntpdate命令
linux中的passwd 设置用户密码、id 查看用户是否存在、su 切换用户linux中的cal 查看日历、用户管理命令、useradd 添加新用户linux的date 显示非当前时间、date 设置系统时间、ntpdate命令
linux中的passwd 设置用户密码、id 查看用户是否存在、su 切换用户linux中的cal 查看日历、用户管理命令、useradd 添加新用户linux的date 显示非当前时间、date 设置系统时间、ntpdate命令
|
Shell Linux 开发工具
8.9 Linux系统添加新用户(useradd命令)
Linux 系统中,可以使用 useradd 命令新建用户,此命令的基本格式如下:
472 0
8.9 Linux系统添加新用户(useradd命令)