搜索

38.5. IdM ID 范围中的安全性和相对标识符的角色

download PDF

身份管理 (IdM) ID 范围由几个参数定义:

  • 范围名称
  • 范围的第一个 POSIX ID
  • 范围大小: 范围内的 ID 数量
  • 对应 RID 范围的第一个 相对标识符 ( RID)
  • 二级 RID 范围的第一个 RID

您可以使用 ipa idrange-show 命令查看这些值:

$ ipa idrange-show IDM.EXAMPLE.COM_id_range
  Range name: IDM.EXAMPLE.COM_id_range
  First Posix ID of the range: 196600000
  Number of IDs in the range: 200000
  First RID of the corresponding RID range: 1000
  First RID of the secondary RID range: 1000000
  Range type: local domain range

安全标识符

IdM 服务器在内部使用本地域 ID 范围中的数据来为 IdM 用户和组分配唯一安全标识符 (SID)。SID 存储在用户和组对象中。用户的 SID 由以下几项组成:

  • 域 SID
  • 用户的相对标识符 (RID),它是附加到域 SID 的四位 32 位值

例如,如果域 SID 是 S-1-5-21-123-456-789,并且来自此域中的用户的 RID 是 1008,则用户的 SID 为 S-1-5-21-123-456-789-1008。

相对标识符

RID 本身使用以下方法计算:

从用户的 POSIX UID 中减去范围的第一个 POSIX ID,并将相应 RID 范围的第一个 RID 添加到结果中。例如,如果 idmuser 的 UID 是 196600008,则第一个 POSIX ID 为 196600000,第一个 RID 为 1000,则 idmuser 的 RID 为 1008。

注意

该算法计算用户的 RID 会检查给定 POSIX ID 是否属于分配的 ID 范围,然后再计算对应的 RID。例如,如果第一个 ID 是 196600000,并且范围大小为 200000,那么 POSIX ID 为 1600000,则算法不会为其计算 RID。

二级相对标识符

在 IdM 中,POSIX UID 可以与 POSIX GID 相同。这意味着,如果 idmuser 已存在 UID 196600008,您仍然可以创建一个新的 idmgroup 组,GID 为 196600008。

但是,一个 SID 只能定义一个对象,一个用户一个组。为 idmuser 创建的 S-1-5-21-123-456-789-1008 的 SID 无法与 idmgroup 共享。必须为 idmgroup 生成替代的 SID。

IdM 使用 二级相对标识符二级 RID,以避免出现冲突的 SID。这个二级 RID 由以下内容组成:

  • 二级 RID 基础
  • 范围大小;默认情况下与基本范围大小相同

在上例中,二级 RID 基础被设置为 1000000。要计算新创建的 idmgroup 的 RID:减少用户 POSIX UID 范围内的第一个 POSIX ID,并将二级 RID 范围的第一个 RID 添加到结果中。因此,idmgroup 被分配 1000008 的 RID。因此,idmgroup 的 SID 是 S-1-5-21-123-456-789-1000008。

只有当之前使用手动设置 POSIX ID 创建用户或组对象时,IdM 使用二级 RID 来计算 SID。否则,自动分配会防止分配相同的 ID 两次。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.