Red Hat Training

A Red Hat training course is available for RHEL 8

91.4. 如果 IdM 信任新域,请手动添加 ID 映射配置

Samba 需要一个 ID 映射配置,用户可从该域访问资源。在 IdM 客户端上运行的现有 Samba 服务器上,管理员向 Active Directory(AD)域添加了新的信任关系后,您必须手动添加 ID 映射配置。

先决条件

  • 您在 IdM 客户端中配置了 Samba。之后,IdM 增加了一个新的信任。
  • 在可信 AD 域中必须禁用 Kerberos 的 DES 和 RC4 加密类型。为了安全起见,RHEL 8 不支持这些弱加密类型。

流程

  1. 使用主机的 keytab 进行身份验证:

    [root@idm_client]# kinit -k
  2. 使用 ipa idrange-find 命令显示新域的基本 ID 和 ID 范围大小。例如,以下命令显示 ad.example.com 域的值:

    [root@idm_client]# ipa idrange-find --name="AD.EXAMPLE.COM_id_range" --raw
    ---------------
    1 range matched
    ---------------
      cn: AD.EXAMPLE.COM_id_range
      ipabaseid: 1918400000
      ipaidrangesize: 200000
      ipabaserid: 0
      ipanttrusteddomainsid: S-1-5-21-968346183-862388825-1738313271
      iparangetype: ipa-ad-trust
    ----------------------------
    Number of entries returned 1
    ----------------------------

    在后续步骤中,您需要 ipabaseidipaidrangesize 属性中的值。

  3. 要计算可用最高的 ID,请使用以下公式:

    maximum_range = ipabaseid + ipaidrangesize - 1

    使用上一步中的值时,ad.example.com 域的最可用 ID 是 1918599999 (1918400000 + 200000 - 1)。

  4. 编辑 /etc/samba/smb.conf 文件,并将域的 ID 映射配置添加到 [global] 部分:

    idmap config AD : range = 1918400000 - 1918599999
    idmap config AD : backend = sss

    ipabaseid 属性的值指定为上一步中最低的计算值,指定为范围的最高值。

  5. 重启 smbwinbind 服务:

    [root@idm_client]# systemctl restart smb winbind

验证步骤

  1. 以用户身份从新域验证并获得 Kerberos ticket-granting ticket:

    $ kinit example_user
  2. 使用 Kerberos 身份验证列出 Samba 服务器中的共享:

    $ smbclient -L idm_client.idm.example.com -k
    lp_load_ex: changing to config backend registry
    
        Sharename       Type      Comment
        ---------       ----      -------
        example         Disk
        IPC$            IPC       IPC Service (Samba 4.12.3)
    ...