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

发布于:2025-03-15 ⋅ 阅读:(13) ⋅ 点赞:(0)


前言

  • 上篇博客我们详细了解了从红帽和 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 用户名 创建新用户
增加用户并指定 UID useradd -u [UID] 用户名 创建新用户并指定 UID
增加用户并指定家目录 useradd -d [家目录路径] 用户名 创建新用户并指定家目录
增加用户并设置不能登录 useradd -s /sbin/nologin 用户名 创建新用户并设置不能登录系统
增加用户并指定主要组 useradd -g [已存在组名] 用户名 创建新用户并指定主要组
增加用户并指定附加组 useradd -G [已存在组名] 用户名 创建新用户并指定附加组
删除用户(保留家目录) userdel 用户名 删除用户账户,保留家目录
删除用户(删除家目录) userdel -r 用户名 删除用户账户及家目录
修改用户 UID usermod -u [新 UID] 现有用户名 修改用户的 UID
修改用户家目录 usermod -d [新家目录路径] 现有用户名 修改用户的家目录
修改用户登录 shell usermod -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 组名 创建新组
创建组并指定 GID groupadd -g [指定 GID] 组名 创建新组并指定 GID
删除组 groupdel 组名 删除组(若不是现有用户主要组)
修改组 GID groupmod -g [新 GID] 现有组名 修改组的 GID
修改组名 groupmod -n [新组名] 现有组名 修改组的名称
添加用户到附加组(方式一) gpasswd -a 用户名 现有组名 将用户添加到指定附加组
添加用户到附加组(方式二) usermod -a -G [组名] 用户名 将用户添加到指定附加组

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

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到