Linux 中真实用户 ID 和有效用户 ID 的区别Linux 中真实用户 ID 和有效用户 ID 的区别Linux 中真实用户 ID 和有效用户 ID 的区别Linux 中真实用户 ID 和有效用户 ID 的区别
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux 中真实用户 ID 和有效用户 ID 的区别

在 Linux 操作系统的内核级别中,用户以及组通常按数字而不是头衔进行分类。内核必须快速且可靠。此外,数据结构必须最小化,否则传递字符串将是无效的。因此,每个用户以及组标题都被转换为特定的无符号整数值,称为 UserID 和组 ID,或“UID”和“GID”以方便参考。对于一个操作来说,根据Linux操作系统中的进程权限,可以唯一修改的UID有3种:

  • 真实用户ID

  • 有效用户ID

  • 已保存的用户ID

真实用户ID:

Real UserId 是发起操作的用户的 UserID。它指定此操作可以访问哪些文档。这是拥有该业务的人。

有效用户ID:

有效用户 ID 与真实用户 ID 相同,但可以对其进行修改,以允许非特权用户使用通常只有特权用户(例如 root)才能访问的文档。计算系统使用它来确定是否允许您执行特定任务。

已保存的用户ID:

保存的用户 ID 是废弃的,而正在执行的主要任务包含高度机密性。大多数时候,它的根必须执行需要较少特权的工作。这可以通过短暂转换到非特权配置文件来完成。

在职的 :

用户,例如root通过系统登录后,在Linux中进行操作,除了涉及到一些独特的过程之外。在验证操作期间,机器在密码文件内搜索两个标识符(ID)号。机器获得的数字往往位于该人密码输入的第三和第四部分。这些分别是系统的实际用户 ID (UID) 和真实组 ID (GID)。在执行特权较低的任务时,有效 UID 会被定位并修改为特权较低的值,并且 euid 会保留为已保存的 userID(suid)。因此,在作业完成后,它将转回特权配置文件。与其说用户获得 root 时间很短,不如说用户获得 root 权限的时间很短。它更关注以 root 权限运行的值得信赖的应用程序。 Setuid 必须安全地应用于经过专门编程的系统,以限制用户精确地完成他们被允许执行的操作。

示例:

要正确理解该过程,请从 Linux 系统的任何帐户(而不是 root 用户)登录。例如,我们从“saeedraza”登录。使用“Ctrl+Alt+T”键启动命令终端进行工作。首先,我们要检查“passwd”文件中的权限。为此,请在控制台中使用以下指令。输出提供“root”用户的权限,如图所示。这意味着只有 root 用户可以更改所有其他用户的密码,包括“saeedraza”。

$ ls –ltr /usr/bin/passwd

用户“saeedraza”还可以使用“passwd”命令更改他/她的密码。

$ passwd

接下来,尝试使用用户“saeedraza”(也不是 root 用户)更改其他用户的“aqsayasin”密码。我们已经尝试过下面的说明。输出提供“root”用户的权限,如图所示。这意味着只有 root 用户可以更改所有其他用户的密码,包括“saeedraza”。

$ passwd aqsayasin

现在,以用户“aqsayasin”身份登录。使用“Ctrl+Alt+T”键盘命令打开控制台终端。让我们尝试使用“passwd”查询从用户“aqsayasin”面板更改用户“saeedraza”的密码。但是,系统无法执行此操作,因为用户“aqsayasin”也没有完成此命令的 root 权限。

$ passwd saeedraza

要更改用户“saeedraza”的密码,我们必须首先以“root”用户身份登录。现在,在控制台 shell 中尝试下面所述的指令。输入“root”用户密码,然后按“Enter”键。它将快速将您的终端转换为根用户终端,并且更改将与附图中所示的相同。

$ su

现在,我们已经以 root 身份登录了。我们将尝试使用相同的“passwd”查询来更改用户“saeedraza”的密码,如上所述。它会要求您两次添加新密码。每次单击“Enter”键。如果密码与两个条目均匹配,则会显示一条成功消息:“密码已成功更新”。

# passwd saeedraza

检查用户ID:

接下来,使用“id”命令检查用户“saeedraza”的用户 ID。输出屏幕显示用户“saedraza”的用户ID为“1001”,组ID为“1002”,组为“1002”。

$ id

当您对“root”用户使用相同的命令时,所有ID值都显示“0”。

# id

检查组ID:

现在,检查用户“saeedraza”的组 ID。首先,尝试在控制台中使用“-G”标志执行下面所示的“id”指令。显示组ID为“1002”

$ id -G

或者您可以使用:

$ id -g

对 root 用户使用相同的命令,显示“0”作为其 ID。

$ id -G

检查组名称:

我们还可以使用以下带有“-Gn”标志的查询来检查组名称。

$ id -Gn

相同的查询可用于 root 用户。

# id -Gn

结论:

某些凭据无法修改,因为 Linux 系统可能不授予权限。由于它以 root 身份运行,因此该软件具有修改其喜欢的任何密码的设备权限。这是经过故意编程的,以限制用户获取和使用此类特权的方式。幸运的是,您目前通过使用本文作为参考了解了真实用户 ID 和有效用户 ID 之间的主要区别。

©2015-2025 艾丽卡 support@alaica.com