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

ops/2025/3/15 6:04:25/

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)
非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述


http://www.ppmy.cn/ops/165868.html

相关文章

【Golang】第三弹----运算符

笔上得来终觉浅,绝知此事要躬行 🔥 个人主页:星云爱编程 🔥 所属专栏:Golang 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 一、运算符介绍 运算符是一…

【sql靶场】第11、12关-post提交注入

目录 【sql靶场】第11、12关-post提交注入 POST 一、URL 二、核心组成部分 三、数据编码规范 四、应用场景与请求方法 第十一关 方法一 步骤一 步骤二 步骤三 步骤四 步骤五 步骤六 步骤七 方法二 步骤一 步骤二 步骤三 步骤四 步骤五 步骤六 步骤七 第…

JVM和运行时数据区

目录 运行时数据区 元空间 Java 虚拟机栈 java 堆 程序计数器 本地方法栈 JVM JVM是Java Virtual Machine的简称,是java程序的运行环境(二进制字节码的运行环境)。主要由三个子系统构成,分别是类加载子系统、运行时数据区和…

QT创建项目(项目模板、构建系统、选择类、构建套件)

1. 项目模版 项目类型界面技术适用场景核心依赖模块开发语言Qt Widget ApplicationC Widgets传统桌面应用(复杂控件)Qt WidgetsCQt Console Application无 GUI命令行工具、服务Qt CoreCQt Quick ApplicationQML/Quick现代跨平台应用(动画/触…

K8S学习之基础二十八:k8s中的configMap

k8s中的configMap ​ configMap是k8s的资源对象,简称cm,用于保存非机密性的配置,数据可以用key/value键值对形式保存,也可以通过文件形式保存 ​ 在部署服务的时候,每个服务都有自己的配置文件,如果一台服…

python多线程和多进程——使用 concurrent.futures.ProcessPoolExecutor 和 ThreadPoolExecutor

在使用 concurrent.futures.ProcessPoolExecutor 和 ThreadPoolExecutor 时,如果你不指定 max_workers 参数,Python 会根据系统资源和任务类型自动选择一个合理的默认值。以下是关于这两个执行器的默认行为的详细说明: ProcessPoolExecutor …

深度学习篇---Opencv中的Haar级联分类器

文章目录 1.Haar 级联分类器配置文件的结构2.OpenCV 自带的 Haar 级联分类器配置文件2.1人脸检测2.1.1haarcascade_frontalface_default.xml2.1.2haarcascade_frontalface_alt.xml2.1.3haarcascade_frontalface_alt2.xml2.1.4haarcascade_frontalface_alt_tree.xml 2.2眼睛检测…

【Deepseek基础篇】--v3基本架构

目录 MOE参数 1.基本架构 1.1. Multi-Head Latent Attention多头潜在注意力 1.2.无辅助损失负载均衡的 DeepSeekMoE 2.多标记预测 2.1. MTP 模块 论文地址:https://arxiv.org/pdf/2412.19437 DeepSeek-V3 是一款采用 Mixture-of-Experts(MoE&…