Linux中批量创建用户的方法

这篇具有很好参考价值的文章主要介绍了Linux中批量创建用户的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Linux中,可以使用脚本来批量创建用户。以下是一个具体的步骤:

1)在 /home/user1/ 目录下创建目录:

sudo mkdir /home/user1
sudo chown root:root /home/user1

执行命令 sudo chown root:root /home/user1/home/user1 目录的所有者和所属组都修改为 root。这意味着只有 root 用户(超级用户)才能对该目录进行修改和访问,其他用户将无法更改此目录。 

2)创建一个包含用户信息的文本文件users.txt 来存储用户信息,使用 vi 命令编辑 users.txt 文件:

sudo vi /home/user1/users.txt

文件内容:每行表示一个用户,在 users.txt 文件中,每行输入一个用户的信息,格式如下:

用户名:密码:用户ID:附加组:用户主目录:登录shell

注意:密码字段可以为空,后续可以通过其他方式设置密码。 

例如:

user1:password1:1001:group1:/home/user1:/bin/bash
user2:password2:1002:group2:/home/user2:/bin/bash

3)确保附加组已经存在。

如果在用户信息中指定了附加组(如 group1group2),则需要先创建这些组。可以使用以下命令创建附加组:

sudo groupadd group1
sudo groupadd group2

附加组(或称为辅助组)的信息存储在 /etc/group 文件中。该文件记录了系统中所有组的信息,包括组名、组ID和组成员。

可以使用下面的命令查看 /etc/group 文件:

cat /etc/group

通常情况下,创建附加组时会自动将其添加到 /etc/group 文件中。 

4)编写一个脚本(例如 create_users.sh),用于读取 users.txt 文件并根据其中的用户信息创建用户。

打开终端并使用任意文本编辑器(如nanovim)创建一个脚本文件,示例脚本:

#!/bin/bash

while IFS=: read -r username password uid groups homedir shell; do
    echo "Creating user: $username"
    sudo useradd -m -p "$password" -u "$uid" -g "$groups" -d "$homedir" -s "$shell" "$username"
    sudo chpasswd <<<"$username:$password"
    sudo passwd -e "$username"
    sudo chown "$username":"$groups" "$homedir"
done < users.txt

5)确保将脚本保存为可执行文件,使用以下命令进行修改:

chmod +x create_users.sh

6)运行脚本来完成批量创建用户的操作:

./create_users.sh

如果 users.txt 文件不在当前目录下,也可以通过指定路径来运行脚本,例如:

./create_users.sh /path/to/users.txt

7)脚本将按照 users.txt 文件中的每一行,创建用户并设置密码,并将文件夹所有权赋予相应的用户和组。检查用户是否成功创建,使用以下命令查看系统上的用户列表:

cut -d: -f1 /etc/passwd

如果需要删除之前创建的用户和组,可以按照以下步骤进行操作: 

①删除用户:

使用 userdel 命令来删除用户。需要以 root 用户或具有管理员权限的用户身份运行该命令。

sudo userdel <用户名>

<用户名> 替换为要删除的用户的用户名。例如,要删除名为 user1 的用户,可以运行以下命令:

sudo userdel user1

注意,userdel 命令将只删除用户账户,并不会删除该用户的主目录和邮箱等相关文件。

如果需要同时删除用户的主目录,请使用 -r 选项:

sudo userdel -r user1

②删除附加组:

使用 groupdel 命令来删除附加组。同样,需要以 root 用户或具有管理员权限的用户身份运行该命令。

sudo groupdel <组名>

<组名> 替换为要删除的组的名称。例如,要删除名为 group1 的组,可以运行以下命令:

sudo groupdel group1

注意,在删除组之前,请确保该组中没有任何用户。如果还有用户属于该组,你需要先将这些用户从组中移除。

 文章来源地址https://www.toymoban.com/news/detail-782828.html

到了这里,关于Linux中批量创建用户的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 下 普通用户创建文件(目录)权限不足问题

     原因:                 执行此操作的用户对上级目录 缺乏相应权限 上图中的上级目录为 test2 ,查看权限如下,其他用户的权限为  r-x(读和执行)   ,要在其下创建新文件还需要 写(w) 的权限  解决问题:修改test权限为 drwxr-x rwx        命令: chmod 757 test2 需要注

    2024年02月11日
    浏览(53)
  • Linux系统服务器修改用户密码的方法

    Linux系统下可以通过 passwd 命令来个修改用户的密码,操作起来也非常的简单。 命令: 例: Linux 修改自己当前用户的密码 例: Linux 修改指定用户的密码,必须是 root 用户,才可以修改其他账号的密码

    2024年02月11日
    浏览(54)
  • Linux Debian11服务器安装SSH,创建新用户并允许SSH远程登录,及SSH安全登录配置!

    在Debian 11服务器上安装SSH并创建新用户允许SSH远程登录的步骤如下: 步骤1:安装SSH 为了安装SSH服务器,您需要以root用户或具有sudo特权的用户身份登录到您的Debian 11服务器。 在终端中执行以下命令来安装SSH服务器: 步骤2:创建新用户 要创建一个新用户,您可以使用  add

    2024年02月12日
    浏览(51)
  • Linux Debian11服务器安装SSH,创建新用户并允许SSH远程登录,及SSH安全登录配置

    一、在 Debian 中添加 sudo 用户 1.创建新用户 首先,要创建用户,当前用户必须是 root 用户或者 sudo 用户。 使用下面adduser 命令创建一个用户名为test的sudo用户,按照提示输入密码,使用 adduser 命令,还会创建用户的主目录。 sudo adduser test 2.将用户成为 sudo 用户 创建test用户后,

    2024年02月05日
    浏览(63)
  • 推荐运维神器HSS工具,简单批量管理百万linux机器

    HSS(Host Shell Service)解决的主要痛点是在多台服务器上执行命令时的繁琐操作和安全性问题。 在传统的方式下,需要分别登录每一台服务器,逐一执行需要的命令 。这种方式存在以下痛点: 繁琐操作:登录多台服务器需要逐一输入用户名和密码,比较繁琐,而且执行命令也

    2024年02月05日
    浏览(82)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(76)
  • 【运维】Linux 跨服务器复制文件文件夹

    如果是云服务 建议用内网ip scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来

    2024年02月08日
    浏览(66)
  • linux中根据文件的创建时间批量删除文件

    在Ubuntu上,你可以使用`find`命令来根据时间批量删除图片。以下是具体的步骤: 1. 打开终端(Terminal)。 2. 使用以下命令进入你希望删除文件的目录: 将`/path/to/directory`替换为实际存放文件的目录路径。 3. 使用以下命令找到符合条件的文件: 上述命令会列出 当前目录及其子

    2024年02月10日
    浏览(35)
  • 迁移Linux服务器用户数据(将一个服务器的Linux用户数据迁移到另一个Linux服务器用户的流程)

    先来到根目录,再使用tar命令打包数据: tar czvf root.zip.gz ./* 在根目录使用指令: scp 打包好的数据 用户@ip:目的用户下的某个目录 源Linux服务器用户 : 查看压缩包是否到达: 对收到的数据进行解压,使用指令 tar xzvf root.zip.gz 解压到当前目录下。 目的Linux服务器用户 : 看到

    2024年02月08日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包