添加和删除用户对每位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
然后可以执行命令 cat /etc/passwd
检查 /etc/passwd
文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建。
(3)执行命令/usr/sbin/pwunconv。
将 /etc/shadow
产生的 shadow
密码解码,然后回写到 /etc/passwd
中,并将/etc/shadow
的shadow
密码栏删掉。
这是为了方便下一步的密码转换工作,即先取消 shadow password
功能。执行命令:
pwunconv
(4)编辑每个用户的密码对照文件。
范例文件 passwd.txt
内容如下
user001:
user002:
user003:
(5)以root身份执行命令 /usr/sbin/chpasswd
。
创建用户密码,chpasswd
会将经过 /usr/bin/passwd
命令编码过的密码写入 /etc/passwd
的密码栏。执行命令:
chpasswd < passwd.txt
(6)确定密码经编码写入/etc/passwd的密码栏后。
执行命令 /usr/sbin/pwconv
将密码编码为 shadow password
,并将结果写入 /etc/shadow
。执行命令:
pwconv
这样就完成了大量用户的创建了,之后可以到/home下检查这些用户宿主目录的权限设置是否都正确,并登录验证用户密码是否正确。
到此批量用户生效了。