一个专业运
维技术分享!

Linux中批量创建用户的两种方法(亲测)

创建用户帐户是Linux管理员的基本任务之一。

我们可以通过运行useradd命令轻松实现这一目标。

但是,如果您想在Linux中创建批量用户,该怎么办?

有什么方法可以执行此操作?

是的,我们在Linux中可以选择执行此操作。据我所知,有两种方法可以实现这一目标。

我们将在本文中解释这些。

每个人都知道用户信息位于/etc/passwd文件中。

这是一个文本文件,其中包含有关每个用户的基本信息。

当我们创建一个新用户时,新用户的详细信息将被添加到该文件中。

创建新用户时,将修改以下四个文件。

/etc/passwd: 用户详细信息将在此文件中更新。
/etc/shadow: 用户密码信息将在此文件中更新。
/etc/group: 该文件中将更新新用户的组详细信息。
/etc/gshadow: 组密码信息将在文件中更新新用户。

可以通过以下两个命令来完成。

useradd: 使用Shell脚本创建新用户或更新默认的新用户信息。
newusers: 批量更新和创建新用户。

方法1:如何使用newusers命令在Linux中创建批量用户帐户?

newusers命令读取给定文件,并使用此信息来更新一组现有用户或创建新用户。

每行的格式与标准密码文件相同。

批量用户创建的通用语法。

# newusers [File_Name]


在执行此操作之前,我们需要从passwd文件中获取最新的GID和UID。

# tail -5 /etc/passwd
gdm:x:121:125:Gnome Display Manager:/var/lib/gdm3:/bin/false
daygeek:x:1000:1000:daygeek,,,:/home/daygeek:/bin/bash
sshd:x:122:65534::/run/sshd:/usr/sbin/nologin
thanu:x:1001:1001::/home/thanu:/bin/sh
renu:x:1002:1002:Renu,,9600106327,:/home/renu:/bin/bash


创建一个名为的文件user-add.txt,详细信息应采用以下格式。每个用户行应位于单独的行中。


User_Name:Password:UID:GID:Comments:User_Home_Directory:Users_Shell_Name


我已经在文件中添加了五个用户。使用cat命令列出用户。

# cat user-list.txt
2gadmin:2gadmin123:1003:1003::/home/2gadmin:/bin/bash
testuser:testuser123:1004:1004::/home/testuser:/bin/bash
demouser:demouser123:1005:1005::/home/demouser:/bin/bash
sudha:sudha123:1006:1006::/home/sudha:/bin/bash
suresh:suresh123:1007:1007::/home/suresh:/bin/bash


运行newusers带有文件名的命令以在Linux系统中创建批量用户。

# newusers user-list.txt


我们可以通过运行以下命令再次确认这一点。

# grep "2gadmin|testuser|demouser|sudha|suresh" /etc/passwd
2gadmin:x:1003:1003::/home/2gadmin:/bin/bash
testuser:x:1004:1004::/home/testuser:/bin/bash
demouser:x:1005:1005::/home/demouser:/bin/bash
sudha:x:1006:1006::/home/sudha:/bin/bash
suresh:x:1007:1007::/home/suresh:/bin/bash

方法2:如何在Linux中使用带有外壳脚本的useradd命令创建批量用户帐户?

如果要在Linux系统中创建多个用户,请使用以下脚本。

我在文件中添加了以下三个用户。使用任何文件命令列出文件中存在的用户。

# cat user-list1.txt
user1
user2
user3


创建以下小型Shell脚本以实现此目的。

# vi user-add.sh

#!/bin/sh
for user in `more user-list1.txt`
do
echo "$user"
useradd $user
echo "$user@123" | passwd --stdin "$user"
chage -d 0 $user
done


设置文件的可执行权限user-add.sh。

# chmod +x user-add.sh

最后运行脚本以实现此目的。

# sh user-add.sh
user1
Changing password for user user1.
passwd: all authentication tokens updated successfully.
user2
Changing password for user user2.
passwd: all authentication tokens updated successfully.
user3
Changing password for user user3.
passwd: all authentication tokens updated successfully.


我们可以通过运行以下命令再次确认这一点。

# grep "user1|user2|user3" /etc/passwd
user1:x:1008:1008::/home/user1:/bin/sh
user2:x:1009:1009::/home/user2:/bin/sh
user3:x:1010:1010::/home/user3:/bin/sh


微信扫描下方的二维码阅读本文

赞(3) 打赏
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。小柳实验室 » Linux中批量创建用户的两种方法(亲测)

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏