Linux中批量创建用户的方法

news/2024/7/27 8:33:01/文章来源:https://blog.csdn.net/m0_71406734/article/details/135493563

在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/bashwhile IFS=: read -r username password uid groups homedir shell; doecho "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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_925711.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA之初探

FPGA的构成 基本逻辑单元CLB CLB是FPGA的基本逻辑单元&#xff0c; 一个 CLB 包括了 2 个 Slices&#xff0c;所以知道Slices的数量就可以知道FPGA的“大概”逻辑资源容量了。一个 Slice 等于 4 个6输入LUT8个触发器(flip-flop)算数运算逻辑&#xff0c;每个 Slice 的 4 个触发…

[足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-17 串讲

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-Advanced控制理论 Ch04-17 串讲

Komodor:Kubernetes 监控工具全面指南

为了方便起见&#xff0c;Komodor 提供了一个简单的 Web 界面&#xff0c;以帮助您监控 Kubernetes 集群的状态。它拥有付费和免费增值计划&#xff0c;除了在出现问题时通知用户外&#xff0c;还拥有一系列方便的工具&#xff0c;用于跟踪和管理集群中部署的资源的状态。让我们…

如何用GPT进行论文润色与改写?

详情点击链接&#xff1a;如何用GPT进行论文润色与改写&#xff1f; 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二定…

逻辑回归(解决分类问题)

定义&#xff1a;逻辑回归是一种用于解决分类问题的统计学习方法。它通过对数据进行建模&#xff0c;预测一个事件发生的概率。逻辑回归通常用于二元分类问题&#xff0c;即将数据分为两个类别。它基于线性回归模型&#xff0c;但使用了逻辑函数&#xff08;也称为S形函数&…

MR-GCN

∘ Φ \circ_Φ ∘Φ​ denotes a convolution Let b l o c k d i a g blockdiag blockdiag(A) be a n1n3-by-n2n3 block diagonal matrix&#xff0c; f o l d fold fold indicate its inverse operator diagonal degree tensor D \mathcal{D} D 作者未提供代码

【学习心得】Git深入学习

若您还未安装Git或是只想简单使用&#xff0c;可以先看看我的文章“Git快速上手”【学习心得】Git快速上手http://t.csdnimg.cn/gsaGj 一、深入学习Git必须熟悉两个概念 &#xff08;1&#xff09;【四个区】Git本地有三个区&#xff0c;远程仓库也可以看出成一个区域 工作区…

vtk9.3 + Visual Studio2019 + Cmake3.28 win11 上的环境安装(这个过程网上比较多,自己记录下过程加深下印象)

开始 介绍 欢迎来到 VTK&#xff01;我们建议您首先阅读《VTK book》&#xff0c;这是一本全面的 VTK 指南&#xff0c;涵盖了其功能的所有方面。此外&#xff0c;您可能会发现探索 VTK 示例很有帮助&#xff0c;这是一组有用的参考资料&#xff0c;演示了如何使用 VTK 的不同模…

ASP.NET Core 的 Web Api 实现限流 中间件

Microsoft.AspNetCore.RateLimiting 中间件提供速率限制&#xff08;限流&#xff09;中间件。 它是.NET 7 以上版本才支持的中间件&#xff0c;刚看了一下&#xff0c;确实挺好用&#xff0c;下面给大家简单介绍一下&#xff1a; RateLimiterOptionsExtensions 类提供下列用…

Elasticsearch 7.8.0从入门到精通

安装Elasticsearch 7.8.0 官网&#xff1a;Elasticsearch 7.8.0 | Elastic 大家下载所需要的安装包即可。然后解压缩&#xff1a; Elasticsearch是通过java编写的&#xff0c;所以自带jdk。多好&#xff0c;下载Elasticsearch赠送jdk 0.0&#xff0c;不过一般我们用自己的jdk…

利用Lambda表达式实现vector中pair/结构体的排序

众所周知&#xff0c;对于vector<pair<int, int> >若直接使用sort排序&#xff0c;会默认按照pair的第一个关键字从小到大进行排序&#xff1a; #include <bits/stdc.h>using namespace std;int main() {vector<pair<int, int> > p;p.push_back…

select子句简单查询

Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 目录 数据查询 起别名 连接 ​编辑 去重 ​编辑 另外补充几个不常用的命令 如果要进行查询,那么需要使用数据操纵语言&#xff08;Data Manipulation Language&#xff0c;DML&am…

EChars

1.引入 Apache ECharts <!DOCTYPE html> <html><head><meta charset"utf-8" /><!-- 引入刚刚下载的 ECharts 文件 --><script src"echarts.js"></script></head> </html> 2. <!-- 为 ECharts 准…

[自动驾驶算法][从0开始轨迹预测]:二、自动驾驶系统中常用的坐标系及相应的转换关系

自动驾驶中常见的坐标系与坐标转换 1. 传感器坐标系1.1 相机坐标系统1) 相机相关基础知识2) 相机各坐标系图像/像素坐标系相机坐标系像平面坐标系 3) 相机各坐标系之间的转换像平面坐标系到像素坐标系的转换&#xff08;平移缩放变换&#xff09;相机坐标系转像平面坐标系&…

tcpdump常用参数以及wireshark密文解密

tcpdump常用参数以及wireshark密文解密 文章目录 一、tcpdump命令和常用参数二、在wireshark中协议解析 tcpdump常用参数 一、tcpdump命令和常用参数 tcpdump常用命令&#xff1a;tcpdump -i eth0 src host 11.6.224.1 and udp port 161 -s 0 -w 161.pcap &#xff08;161为sn…

自学Python,需要注意哪些?

为什么要学习Python&#xff1f; 在学习Python之前&#xff0c;你不要担心自己没基础或“脑子笨”&#xff0c;我始终认为&#xff0c;只要你想学并为之努力&#xff0c;就能学好&#xff0c;就能用Python去做很多事情。在这个喧嚣的时代&#xff0c;很多技术或概念会不断兴起…

解决BigDecimal序列化科学计数法前端展示问题(大坑)

解决BigDecimal序列化科学计数法前端展示问题(大坑) 前言&#xff1a;在生产中出现一个问题&#xff0c;就是BigDecimal类型的字段在前端页面展示变成科学计数法&#xff0c;通过排查&#xff0c;发现里面的坑还是挺多的&#xff0c;所以特意记录下处理过程。Json序列化&#x…

ubuntu设置每天定时关机

ubuntu设置每天定时关机 终端输入命令&#xff1a; sudo crontab -e输入密码&#xff0c;回车。 我这里使用nano作为编辑器&#xff0c;你可以选择vim。 在末尾输入以下命令&#xff1a; 59 23 * * * sudo -u root shutdown now设置&#xff1a;每天23:59分&#xff0c;电脑…

深度强化学习的变道策略:Harmonious Lane Changing via Deep Reinforcement Learning

偏理论&#xff0c;假设情况不易发生 摘要 多智能体强化学习的换道策略&#xff0c;不同的智能体在每一轮学习后交换策略&#xff0c;达到零和博弈。 和谐驾驶仅依赖于单个车辆有限的感知结果来平衡整体和个体效率&#xff0c;奖励机制结合个人效率和整体效率的和谐。 Ⅰ. 简…

Visual Studio 2022 成功配置QT5.12.10

目录 下载并安装Visual Studio 2022 Qt5.12.10下载 Qt5.12.10安装 Qt VS Tools for Visual Studio 2022下载 Visual Studio 2022配置 测试 下载并安装Visual Studio 2022 下载社区版并安装&#xff0c;这个比较快。 Qt5.12.10下载 官网下载很慢&#xff0c;还不如百度网…