当前位置: 首页 > article >正文

Linux红帽:RHCSA认证知识讲解(六)创建、管理和删除本地用戶和组

Linux红帽:RHCSA认证知识讲解(六)创建、管理和删除本地用戶和组

  • 前言
  • 一、用户和组概念
    • 用户类型对比表格
    • 主要组和补充组对比表格:
  • 二、本地用户账户增删改查
  • 三、本地组账户


前言

  • 上篇博客我们详细了解了从红帽和 DNF 软件仓库下载、安装、更新和管理软件包,在这篇博客里,我们将讲解创建、管理和删除本地用戶和组
  • 在 Linux 系统的管理中,用户和组的管理是至关重要的一部分。合理地创建、管理和删除本地用户和组,不仅能确保系统的安全性,还能有效地管理系统资源的访问权限。

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的RHCSA认证知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12901802.html?spm=1001.2014.3001.5482

一、用户和组概念

在 Linux 系统中,用户和组有着各自独特的用途。

  1. 用户(USER):用户账户在不同人员和运行的程序之间提供了安全边界。用户通过 username 进行标识,操作系统会为其分配唯一的标识号(UID),并且用户可能含有密码。系统中的每个程序都以特定用户运行,每个文件也都有一个特定用户作为所有者。用户账户主要有三种类型:
    在这里插入图片描述

    • 超级用户(superuser):即 root 用户,其 UID = 0,拥有系统的最高权限,可以对系统进行任何操作。
    • 系统用户(system users)UID 1-200,用于系统管理,例如运行各种服务。这类用户通常不需要用于系统登录,主要是为了保证系统服务的正常运行。
    • 普通用户(regular users)UID 1000+供用户进行日常系统管理操作,通常具有一定的权限限制,以保证系统的安全。
  • 我们可以使用 id 命令来查看当前登录的用户或某用户的详细信息。
    在这里插入图片描述

例如,id username 就可以显示指定用户的 UID、GID 等信息。
在这里插入图片描述

同时,ls -l 命令可以查看文件所属用户,ls -ld 命令则用于查看目录所属用户。

系统使用 /etc/passwd 文件来存储有关本地用户的信息,该文件的每一行都包含了用户的相关信息,
在这里插入图片描述

在这里插入图片描述

格式为:用户名:用户的加密密码(占位符):用户的 UID 编号:主要组的 GID : 该用户的简短注释、描述的信息 : 用户的家目录 :可以使用交互式登陆。

用户类型对比表格

用户类型UID 范围用途是否可登录系统权限特点
超级用户(superuser)UID = 0系统最高管理权限,可进行任何操作拥有系统最高权限
系统用户(system users)UID 1 - 200(红帽系统服务)、UID 201 - 999(供系统进程使用)系统管理,运行服务权限有限,仅满足服务运行需求
普通用户(regular users)UID 1000+日常系统管理操作权限受限制,保障系统安全
  1. 组(GROUP)组是用户的集合组内的用户可以共享文件和其他系统资源的访问权限。组有 group name 和 GID,它们的匹配关系保存在 /etc/group 文件中。
    每个组条目被分为四个以冒号分隔的字段,
  • 例如:wangpingan : x : 8896 : yang,wangdaye
    分别表示组名、占位符、组 ID、属于此组成员的用户列表(作为补充组)。

组又分为主要组(私有组或者基本组)和补充组(附加组):

  • 每个用户只属于一个主要组(GID),对应 GID 在 /etc/passwd 中。
  • 创建普通用户时,会自动创建一个与用户同名的组,作为该用户的主要组,且该用户是这个主要组的唯一成员。
  • 用户还可以有补充组,补充组中的成员资格存放在 /etc/group 文件中。根据用户所在的组是否具有访问权限,将授予用户对文件的访问权限,无论是主要组还是补充组。

主要组和补充组对比表格:

组类型与用户关系存储位置权限特点
主要组(私有组或基本组)每个用户仅有一个主要组,创建普通用户时自动生成同名组作为主要组,用户是唯一成员对应 GID 在 /etc/passwd用户默认具有该组的权限
补充组(附加组)用户可以有多个补充组,是组内成员的集合成员资格存放在 /etc/group 文件中根据组的权限赋予用户对文件的访问权限

二、本地用户账户增删改查

  1. 用户的增删改查操作
    • 增加用户(增):从命令行中使用 useradd 命令来创建用户,例如 useradd 用户名

    • 如果需要指定新用户的 UID,可以使用 useradd -u

    • 指定用户的家目录时,先创建目录,如 mkdir /opt/dongjiawen
      然后使用 useradd -d /opt/dongjiawen/ dongjiawen02

    • 若要使新增用户不能登录,可使用 useradd -s /sbin/nologin 用户名;指定用户的主要组用 useradd -g 必须是已经存在的组 用户名

    • 指定附加组则用 useradd -G 必须是已经存在的组 用户名

    • 删除用户账户(删):使用 userdel 用户名 命令只是删除用户,不会删除用户的家目录。若要同时删除用户的家目录,可添加 -r 选项,即 userdel -r 用户名

    • 修改现有的用户(改):更改现有用户的 UID 可以使用 usermod -u 更改之后的 uid 现有的用户名;更改家目录用 usermod -d 修改之后的家目录 现有的用户名;更改登录的 shell 则用 usermod -s 登录的 shell 现有的用户名

    • 查询用户(查):使用 id 用户名 命令可以查看用户的详细信息。

用户管理命令对比表格:

操作类型命令格式作用
增加用户useradd 用户名创建新用户
增加用户并指定 UIDuseradd -u [UID] 用户名创建新用户并指定 UID
增加用户并指定家目录useradd -d [家目录路径] 用户名创建新用户并指定家目录
增加用户并设置不能登录useradd -s /sbin/nologin 用户名创建新用户并设置不能登录系统
增加用户并指定主要组useradd -g [已存在组名] 用户名创建新用户并指定主要组
增加用户并指定附加组useradd -G [已存在组名] 用户名创建新用户并指定附加组
删除用户(保留家目录)userdel 用户名删除用户账户,保留家目录
删除用户(删除家目录)userdel -r 用户名删除用户账户及家目录
修改用户 UIDusermod -u [新 UID] 现有用户名修改用户的 UID
修改用户家目录usermod -d [新家目录路径] 现有用户名修改用户的家目录
修改用户登录 shellusermod -s [登录 shell] 现有用户名修改用户登录时使用的 shell
查询用户id 用户名查看用户详细信息
  1. 设置密码
    • 交互式设置密码:使用 passwd 用户名 命令,系统会提示输入新密码和确认密码。
    • 非交互式设置密码:使用 echo 用户密码 | passwd --stdin 用户名 命令,可以在脚本等非交互式环境中设置密码。

密码设置方式对比表格:

设置方式命令格式适用场景
交互式设置密码passwd 用户名手动为用户设置密码,适用于交互式环境
非交互式设置密码`echo [用户密码]passwd --stdin 用户名`

三、本地组账户

在这里插入图片描述

  1. 组的增删改查操作
    • 创建组(增):从命令行中使用 groupadd 组的名称 命令来创建组。如果要指定组的 GID,则使用 groupadd -g 指定组的 GID 组名
    • 删除组(删):使用 groupdel 组名 命令删除组。需要注意的是,如果组是现有用户的主要组,则无法直接删除。若一定要删除主要组,需要先更改用户的主要组。
    • 修改现有的组(改):更改组的 GID 可以使用 groupmod -g 新的 GID 现有的组名;更改组的名字则用 groupmod -n 新的组名 现有组名
    • 更改用户的附加组:第一种方式是使用 gpasswd -a 用户名 现有的组名 将用户添加到附加组;若要将某个用户从附加组中删除,可以使用相关命令(具体根据系统而定)。第二种方式是使用 usermod -a -G 组名 用户名 命令将用户添加到附加组。

组管理命令对比表格:

操作类型命令格式作用
创建组groupadd 组名创建新组
创建组并指定 GIDgroupadd -g [指定 GID] 组名创建新组并指定 GID
删除组groupdel 组名删除组(若不是现有用户主要组)
修改组 GIDgroupmod -g [新 GID] 现有组名修改组的 GID
修改组名groupmod -n [新组名] 现有组名修改组的名称
添加用户到附加组(方式一)gpasswd -a 用户名 现有组名将用户添加到指定附加组
添加用户到附加组(方式二)usermod -a -G [组名] 用户名将用户添加到指定附加组

以上就是这篇博客的全部内容,下一篇我们将继续探索 Redhat 的更多精彩内容。

  • RHCSA 认证知识讲解专栏https://blog.csdn.net/2402_83322742/category_12901802.html?spm=1001.2014.3001.5482)
非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

相关文章:

Linux红帽:RHCSA认证知识讲解(六)创建、管理和删除本地用戶和组

Linux红帽:RHCSA认证知识讲解(六)创建、管理和删除本地用戶和组 前言一、用户和组概念用户类型对比表格主要组和补充组对比表格: 二、本地用户账户增删改查三、本地组账户 前言 上篇博客我们详细了解了从红帽和 DNF 软件仓库下载…...

在虚拟环境里面配置Linux系统

Linux系统有很多版本,常用的有Ubantu乌班图,和CentOS 不同的版本在使用的时候,有部分执行方式的不同 安装的流程都一样 首先,想要安装Ubantu,要去它的官网,找下载连接,然后下载iso后缀的安装…...

React开发指南:核心、实践与案例

文章目录 一、React核心架构与设计哲学1.1 虚拟DOM与Diff算法1.2 JSX编译原理1.3 组件化设计模式1.4 Fiber架构解析1.5 组件生命周期(类组件) 二、React核心特性详解2.1 数据流管理2.2 Hooks革命2.3 Context API进阶2.4 自定义Hooks设计模式 三、React 1…...

分享vue好用的pdf 工具实测

vue3-pdf-app: 带大纲,带分页,带缩放,带全屏,带打印,带下载,带旋转 下载依赖: yarn add vue3-pdf-appornpm install vue3-pdf-app 配置类: 创建文件 pdfConfig.ts /…...

Redis分布式锁深度剖析:从原理到Redisson实战,破解脑裂与高并发锁难题

一、📌 分布式锁的核心应用场景 场景类型典型案例风险说明🚀 高并发场景电商秒杀、票务抢购库存超卖风险⏰ 定时任务场景集群日志清理、数据统计任务重复执行🔄 幂等场景支付接口重试、订单创建资金重复扣款 二、🔧 Redis分布式锁…...

Markdown Poster – 免费Markdown转图片工具|优雅图文海报制作与社交媒体分享

Markdown Poster是什么 Markdown Poster 是一款高效的 Markdown 转图片工具,利用灵活编辑和实时预览功能帮助用户轻松制作优雅的图文海报。该工具内置丰富的海报模板和多种主题选项,支持导出为图片和 HTML 代码,适用于社交媒体分享、网站集成…...

掌握市场先机:9款销售渠道管理工具深度测评

本文主要介绍了以下9款销售渠道管理工具:1.纷享销客; 2.销帮帮; 3.小满CRM; 4.有赞; 5.Oracle NetSuite; 6.Salesforce Sales Cloud; 7.Cin7; 8.Pipedrive; 9.BigCommerc…...

OpenCV图像加权函数:addWeighted

1 addWeighted函数 在OpenCV 里,addWeighted 函数的作用是对两个图像进行加权求和,常用于图像融合、图像过渡等场景。函数如下: cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]])2 参数解释 src1:第一个输入图…...

直方图(信息学奥赛一本通-1115)

【题目描述】 给定一个非负整数数组&#xff0c;统计里面每一个数的出现次数。我们只统计到数组里最大的数。假设 Fmax&#xff08;Fmax<10000&#xff09;是数组里最大的数&#xff0c;那么我们只统计{0,1,2.....Fmax}里每个数出现的次数。 【输入】 第一行n是数组的大小。…...

docker桌面版启动redis,解决无法连接

docker run -d --name redis -p 6379:6379 -v E:\2\redis\redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf 在本地创建一个目录&#xff0c;里面有个redis.conf文件&#xff0c;内容如下&#xff0c;启动时绑定这个配置文件目…...

Scratch 3.0安装包,支持Win7/10/11、Mac电脑手机平板、少儿便编程的启蒙软件。

Scratch是一款由麻省理工学院&#xff08;MIT&#xff09; 设计开发的少儿编程工具。其特点是&#xff1a;使用者可以不认识英文单词&#xff0c;也可以不使用键盘&#xff0c;就可以进行编程。构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动指令模块到脚本区就可以…...

Java创造型模式之原型模式详解

设计模式是面向对象设计中的一种标准方法&#xff0c;用于解决常见的设计问题。原型设计模式&#xff08;Prototype Pattern&#xff09;是23种经典设计模式之一&#xff0c;属于创建型模式&#xff0c;它允许通过复制现有对象来创建新对象&#xff0c;而不是通过构造函数或工厂…...

JVM的各种细节

(1)JVM 核心结构&#xff08;必须知道&#xff09; 类加载器 负责将.class()文件加载到内存中&#xff0c;供 JVM 使用。 方法区 存储类元数据&#xff08;类名、字段、方法&#xff09;、常量池、静态变量等。 JDK 8&#xff1a;由元空间&#xff08;Metaspace&#xff09;…...

JavaScript基本知识

文章目录 一、JavaScript基础1.变量&#xff08;重点&#xff09;1-1 定义变量及赋值1-2 变量的命名规则和命名规范判断数据类型&#xff1a; 2.数据类型转换2-1 其他数据类型转成数值2-2 其他数据类型转成字符串2-3 其他数据类型转成布尔 3.函数3-1函数定义阶段3-2函数调用阶段…...

Navicat for Snowflake 震撼首发,激活数据仓库管理全新动能

近日&#xff0c;Navicat 家族迎来了一位全新成员 — Navicat for Snowflake。Snowflake 是一款基于云架构的现代数据仓库解决方案&#xff0c;以其弹性扩展、高性能和易用性著称。这次首发的Navicat for Snowflake 专为简化 Snowflake 数据库管理任务而精心打造。它凭借其直观…...

pjsip 自定义获取和设置麦克风、扬声器

获取麦克风和扬声器列表结果Device ID: 0 Name: “Wave mapper” Input channels: 2 Output channels: 2 Default sample rate: 16000 Device ID: 1 Name: “麦克风 (USB Microphone)” Input channels: 2 Output channels: 0 Default sample rate: 16000 Device ID: 2 Name: “…...

C++ 左值(lvalue)和右值(rvalue)

在 C 中&#xff0c;左值&#xff08;lvalue&#xff09;和右值&#xff08;rvalue&#xff09;是指对象的不同类别&#xff0c;区分它们对于理解 C 中的表达式求值和资源管理非常重要&#xff0c;尤其在现代 C 中涉及到移动语义&#xff08;Move Semantics&#xff09;和完美转…...

深度学习基础:线性代数本质2——线性组合、张成的空间与基

目录 一、线性组合 1. 用一个有趣的角度看向量坐标 2. 如果我们选择不同的基向量会怎样&#xff1f; 3. 线性组合 4. 张成的空间 ① 二维向量的张成的空间 ② 三维向量的张成的空间​编辑 5.线性相关 6.线性无关 7. 基的定义 一、线性组合 1. 用一个有趣的角度看向量坐…...

第五天 Labview数据记录(5.4 EXCEL文件读写)

5.4 EXCEL文件读写 Excel 文件读写在数据处理、自动化办公、数据分析等领域具有重要的意义。以下是 Excel 文件读写的主要应用场景和意义&#xff1a;1. 数据管理和整理&#xff1b;2. 自动化办公&#xff1b;3. 数据分析和可视化&#xff1b;4. 系统集成&#xff1b;5. 报表生…...

iOS 模块化架构设计:主流方案与实现详解

随着 iOS 工程规模的扩大&#xff0c;模块化设计成为提升代码可维护性、团队协作效率和开发灵活性的关键。本文将探讨为什么需要模块化&#xff0c;介绍四种主流的模块化架构方案&#xff08;协议抽象、依赖注入、路由机制和事件总线&#xff09;&#xff0c;并通过代码示例和对…...

【WRF模拟】如何查看 WPS 的输入静态地理数据(二进制格式)?

查看 WPS 的输入静态地理数据方法总结 方法 1:使用 gdal_translate 将二进制数据转换为 GeoTIFFgdal_translate 工具概述使用 gdal_translate 将二进制数据转换为 GeoTIFF方法 2:使用 ncdump 查看 geo_em.dXX.nc方法 3:使用 Python xarray + matplotlib 可视化 geo_em.dXX.n…...

麒麟系统利用pycharm生成deb文件

在麒麟系统&#xff08;Kylin OS&#xff09;上使用 PyCharm 进行 Python 开发并生成 .deb 可安装软件包&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 准备工作 安装 PyCharm&#xff1a;确保已经在麒麟系统上安装了 PyCharm&#xff0c;可以使用官方提供的安装包进…...

【日志队列】log日志实时写入队列,流式输出

有一个这样的任务&#xff1a;在网页上流式输出执行一个函数在终端产生的日志&#xff0c;但是目前只有终端日志&#xff0c;可以通过 自定义 loguru 的 Sink 将日志消息定向到线程安全的队列中&#xff0c;主线程从队列中实时获取日志。 import threading import queue from …...

注意力机制,层归一化,RBA。KAN-ODE,小波KAN

目录 attention is all you need 翻译 多头注意力 8.6 Multi-head Self Attention 模型 模型架构 encoder安定 decode 注意力机制 位置编码 自注意力机制的优势 实验结果 结论 代码 Transformer 架构 代码实现思路 总结 编码器、解码器和位置编码的摆放顺序&…...

【实战ES】实战 Elasticsearch:快速上手与深度实践-附录-3-从ES 7.x到8.x的平滑迁移策略

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 附录-版本升级指南 3-Elasticsearch 7.x 到 8.x 平滑迁移策略指南1. 升级必要性分析1.1 版本特性对比1.2 兼容性评估矩阵 2. 预升级准备清单2.1 环境检查表2.2 数据备份策略 3. 分阶段…...

go回调函数的使用

在Go语言中&#xff0c;回调函数可以有参数&#xff0c;也可以没有参数。它们的定义和使用方式略有不同&#xff0c;但本质上都是将函数作为参数传递给另一个函数&#xff0c;并在适当的时候调用它。以下是带参数和不带参数的回调函数的示例和说明。 1. 不带参数的回调函数 不…...

电脑内存不足怎么办?

常规解决方法盘点 关闭后台程序&#xff1a;按下【Ctrl Shift Esc】组合键打开任务管理器&#xff0c;在 “进程” 选项卡里&#xff0c;把当前不用的程序统统 “结束任务” &#xff0c;像那些自动更新的软件、常驻后台的播放器&#xff0c;关了能释放不少内存。比如音乐软…...

如何上传文件到github

如何上传文件到github **方法 1&#xff1a;使用 Git 命令行&#xff08;推荐&#xff09;****步骤 1&#xff1a;初始化 Git 仓库&#xff08;如果还没有&#xff09;****步骤 2&#xff1a;添加远程仓库****步骤 3&#xff1a;添加整个文件夹并提交****步骤 4&#xff1a;推送…...

【RISCV LAB】0x01-安装实验仿真辅助工具

安装实验辅助工具 实验环境搭建安装 Verilator编译依赖下载源码编译安装测试安装 安装 RISC-V 交叉编译工具链编译依赖下载源码编译安装编译并安装添加环境变量并测试 安装 GTKWave其他模拟器推荐RARSemulsiV FAQ 实验环境搭建 Verilator 是一款开源的支持 Verilog 和 SystemV…...

Trae插件革命:用VSPlugin Helper实现VSCode市场插件全自动安装

之前有读者留言说trae都没有c的插件用&#xff0c;确实是这样&#xff0c;trae的插件源用的是open vsx&#xff0c;而c/c插件是vscode官方插件市场的&#xff0c;如果想直接在trae中安装c/c插件是不行的&#xff0c;只能先从vscode官方插件市场把vsix后缀文件先下载下来&#x…...