Linux下批量添加用户

时间:2024-11-01 18:33:26

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,

必然要找一种简便的创建大量用户的方法。Linux系统提供了创建大量用户的工具,可以让我们很方便的创建大量用户,方法如下:

(1)先编辑一个文本用户文件。

每一列按照/etc/passwd密码文件的格式书写,这里我补充下,想具体了解的博友们可以看下详细文档,

/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。比如我这里范例文件user.txt内容如下:

user001::::user:/home/user001:/bin/bash
user002::::user:/home/user002:/bin/bash
user003::::user:/home/user003:/bin/bash

(2)以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户命令:

newusers < user.txt

Linux下批量添加用户

然后可以执行命令 cat /etc/passwd 检查 /etc/passwd 文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建。
Linux下批量添加用户

(3)执行命令/usr/sbin/pwunconv。

将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadowshadow密码栏删掉。

这是为了方便下一步的密码转换工作,即先取消 shadow password 功能。执行命令:

pwunconv

(4)编辑每个用户的密码对照文件。

范例文件 passwd.txt 内容如下

user001:
user002:
user003:

(5)以root身份执行命令 /usr/sbin/chpasswd

创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏。执行命令:

chpasswd < passwd.txt

Linux下批量添加用户

(6)确定密码经编码写入/etc/passwd的密码栏后。

执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow。执行命令:

pwconv

这样就完成了大量用户的创建了,之后可以到/home下检查这些用户宿主目录的权限设置是否都正确,并登录验证用户密码是否正确。
Linux下批量添加用户

到此批量用户生效了。