迁移到 RHEL 8 上的身份管理
将 RHEL 7 IdM 环境升级到 RHEL 8,并将 FreeIPA 或外部 LDAP 解决方案迁移到 IdM
摘要
对红帽文档提供反馈 复制链接链接已复制到粘贴板!
我们感谢您对我们文档的反馈。让我们了解如何改进它。
通过 Jira 提交反馈(需要帐户)
- 登录到 Jira 网站。
- 单击顶部导航栏中的 Create。
- 在 Summary 字段中输入描述性标题。
- 在 Description 字段中输入您对改进的建议。包括到文档相关部分的链接。
- 点对话框底部的 Create。
第 1 章 Identity Management Upgrade Helper 应用程序 复制链接链接已复制到粘贴板!
Identity Management Upgrade Helper 应用程序可帮助您准备升级 IdM 部署。您可以使用应用程序创建带有整个过程的特定分步说明的自定义升级计划,从设置新副本以弃用旧服务器。
要使用此应用程序,请参阅红帽客户门户网站上的 Identity Management Upgrade Helper。
部分 I. 将 IdM 从 RHEL 7 迁移到 RHEL 8 复制链接链接已复制到粘贴板!
第 2 章 将 IdM 环境从 RHEL 7 服务器迁移到 RHEL 8 服务器 复制链接链接已复制到粘贴板!
要将 RHEL 7 IdM 环境升级到 RHEL 8,您必须首先在 RHEL 7 IdM 环境中添加新的 RHEL 8 IdM 副本,然后停用 RHEL 7 服务器。
- 不支持将 RHEL 7 IdM 服务器和 IdM 服务器节点的原位升级到 RHEL 8。
不支持直接从 RHEL 6 或更早版本迁移到 RHEL 8。要正确更新 IdM 数据,您必须执行增量迁移。
例如,将 RHEL 6 IdM 环境迁移到 RHEL 8:
- 从 RHEL 6 服务器迁移到 RHEL 7 服务器。请参阅 将身份管理从 Red Hat Enterprise Linux 6 迁移到版本 7。
- 从 RHEL 7 服务器迁移到 RHEL 8 服务器,如本节所述。
RHEL 8 支持 SPAKE 和 IdP 预身份验证,但 RHEL 7 不支持。在 RHEL 7 IdM 部署中启用了 SPAKE 或 IdP 的 RHEL 8 服务器可能会导致问题,如用户无法登录。因此,尽快迁移 IdM 部署中的所有服务器。
如需更多信息,请参阅红帽知识库解决方案 kerberos 中的预身份验证失败,以及对 AD 信任用户使用 2FA/OTP 身份验证。
这个流程描述了如何将所有身份管理(IdM)数据和配置从 Red Hat Enterprise Linux (RHEL) 7 服务器 迁移 到 RHEL 8 服务器。您还可以使用此流程将非 RHEL Linux 发行版上的 FreeIPA 服务器迁移到 RHEL 8 服务器上的 IdM。
主要迁移步骤包括:
- 配置 RHEL 8 IdM 服务器并将其作为副本添加到您当前的 RHEL 7 IdM 环境中。详情请参阅安装 RHEL 8 Replica。
- 使 RHEL 8 服务器成为证书颁发机构(CA)续订服务器。详情请参阅 将 CA 续订服务器角色分配给 RHEL 8 IdM 服务器。
- 在 RHEL 7 服务器上停止生成证书撤销列表(CRL),并将 CRL 请求重定向到 RHEL 8。详情请参阅 在 RHEL 7 IdM CA 服务器上停止生成 CRL 。
- 在 RHEL 8 服务器上启动 CRL 的生成。详情请参阅在新的 RHEL 8 IdM CA 服务器中启动 CRL 生成。
- 停止并弃用原始 RHEL 7 CA 续订服务器。详情请参阅停止和弃用 RHEL 7 服务器。
大型或复杂部署的其他流程
对于大型、地理分布或关键任务 IdM 部署,强烈建议使用以下可选流程来确保拓扑健康状况并防止服务中断:
在开始迁移前,请查看策略指导,并考虑哪些可选流程适用于您的部署:
在以下步骤中:
-
rhel8.example.com是将成为新的 CA 续订服务器的 RHEL 8 系统。 rhel7.example.com是最初的 RHEL 7 CA 续订服务器。如果您的 IdM 部署没有使用证书颁发机构(CA),则任何运行在 RHEL 7 上的 IdM 服务器都可以是
rhel7.example.com。
2.1. 迁移大型和标准 IdM 部署的策略 复制链接链接已复制到粘贴板!
迁移大型或地理分布式身份管理(IdM)拓扑需要额外的规划以确保服务连续。虽然核心迁移步骤(安装新副本、将其建立为 CA 续订服务器和弃用旧服务器)均适用于所有部署,但大型环境受益于更严格的清单和验证过程。
迁移工作流比较
下表重点介绍了与标准单服务器或小型集群迁移相比,大型或复杂拓扑的建议额外步骤。
| 步骤 | 标准迁移 | 大型/复杂迁移 |
|---|---|---|
| 1.清单拓扑 | 可选。 | 强烈推荐.记录所有服务器角色和复制协议,以确保在副本替换过程中不会丢失任何关键服务(CA、DNS、KRA、AD Trust)。 |
| 2.记录 DNA ID 范围 | 可选。 | 强烈推荐.记录分配的 ID 范围,以防止在没有重新分配的情况下停用大量范围的服务器。 |
| 3.重复使用服务器主机名 | 很少需要。 | 条件.如果重复使用主机名,请等待重复完全聚合,然后再重新安装。快速移除和添加可能会导致高延迟拓扑冲突。 |
| 4.安装新的 Replica | 必需。 | 必需。确保新副本安装了与它所替换的角色相同的角色。在验证过程中运行 Healthcheck,以捕获早期的问题。 |
| 5.分配 CA 续订角色 | 必需(如果使用集成的 CA)。 | 必需(如果使用集成的 CA)。在继续操作前,验证角色分配复制。 |
| 6.管理 CRL 代 | 必需(如果使用集成的 CA)。 | 必需(如果使用集成的 CA)。在旧服务器上停止 CRL,重定向请求,在新服务器上启动。 |
| 7.更新客户端配置 | 自动(大多)。 |
可能需要手动更新。固定到 |
| 8.停用旧的服务器 | 必需。 | 必需。验证没有唯一角色丢失,并允许复制聚合。 |
大型部署的战略性考虑
- 维护冗余: 在停用副本前,确保至少有一个服务器提供关键服务(CA、DNS、KRA、AD Trust)。
- 复制 Lag: 在地理上分散的部署中,允许在拓扑更改之间实现复制。快速删除/添加周期可能会导致在高延迟链路中解决冲突。
- 批处理: 对于非常大的拓扑,请迁移 site-by-site,在每个 wave 后验证健康状况。避免同时弃用单一站点中的所有服务器。
2.2. 准备将 IdM 从 RHEL 7 迁移到 RHEL 8 复制链接链接已复制到粘贴板!
在 rhel7.example.com 上:
- 将系统升级到最新的 RHEL 7 版本。
- 确保域的域级别设置为 1。如需更多信息,请参阅 RHEL 7 的 Linux 域身份、身份验证和策略指南 中的 显示和提升域级别 。
将 ipa-* 软件包更新至其最新版本:
yum update ipa-*
[root@rhel7 ~]# yum update ipa-*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告当升级多个身份管理(IdM)服务器时,在每次升级之间至少等待 10 分钟。
当两个或更多个服务器同时升级,或在不同升级之间只能简短的间隔,则可能没有足够的时间来在整个拓扑间复制升级后的数据变化,从而会导致复制事件冲突。
在 rhel8.example.com 上:
- 在系统上安装最新版本的 Red Hat Enterprise Linux。如需更多信息,请参阅 从安装介质主动安装 RHEL。
确定时间服务器
rhel7.example.com与以下内容同步:ntpstat synchronised to NTP server (ntp.example.com) at stratum 3 time correct to within 42 ms polling server every 1024 s
[root@rhel7 ~]# ntpstat synchronised to NTP server (ntp.example.com) at stratum 3 time correct to within 42 ms polling server every 1024 sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要在 RHEL 8 中,IdM 不提供它自己的时间服务器:在
rhel8.example.com上安装 IdM 不会导致在主机上安装 NTP 服务器。因此,您需要使用单独的 NTP 服务器,如ntp.example.com。如需更多信息,请参阅 迁移到 chrony 和 IdM 的时间服务要求。尽管
rhel7.example.com可用于 NTP 服务器角色,但作为迁移过程的一部分,您将停用服务器。因此,rhel8.example.com需要直接与ntp.example.com同步。您可以在客户端安装过程中指定它。将系统作为 IdM 客户端注册到
rhel7.example.comIdM 服务器具有权威的域。如需更多信息,请参阅 安装 IdM 客户端。安装客户端时,指定上一步中的时间服务器:ipa-client-install --mkhomedir --ntp-server ntp.example.com
[root@rhel8]# ipa-client-install --mkhomedir --ntp-server ntp.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用 NTP 服务器池,请使用
--ntp-pool选项。如果您没有手动指定 NTP 服务器,它将自动从 DNS 记录设置。这可能导致
rhel8.example.com与rhel7.example.com 同步。在 RHEL 7 服务器停用时,这会导致问题。如果 RHEL8 系统已经正确配置为 NTP 客户端,您可以在执行 IdM 客户端安装时使用
--no-ntp选项。重要不要使用单标签域名,如
.company。从 RHEL 8 开始,IDM 不接受单标记的域名,域名必须由一个或多个子域和一个顶级域组成,如example.com或company.example.com。如果现有域是单标记的,则无法使用这些说明执行迁移。在这些情况下,请使用 将 LDAP 服务器迁移到身份管理。
- 为 IdM 服务器安装准备系统。请参阅 为 IdM 服务器安装准备系统。
- 授权系统安装 IdM 副本。请参阅 在 IdM 客户端上授权副本安装。
将 ipa-* 软件包更新至其最新版本:
yum update ipa-*
[root@rhel7 ~]# yum update ipa-*Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. 在 IdM 拓扑中执行角色清单 复制链接链接已复制到粘贴板!
在替换副本前,使用此流程捕获当前的 IdM 服务器角色和复制布局。这个过程是可选的,但强烈建议,特别是对于大型或复杂的拓扑,以防止角色覆盖差距。
先决条件
- 以管理员身份登录到 IdM 服务器。
步骤
列出拓扑中的服务器以及每个服务器上启用的角色:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 CA 续订服务器是否已分配给一个服务器:
ipa config-show | grep "CA renewal master" IPA CA renewal master: ipa1.example.com
[root@rhel7 ~]# ipa config-show | grep "CA renewal master" IPA CA renewal master: ipa1.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 DNSSEC 密钥 master 角色是否已分配给只有一个服务器:
ipa dnsconfig-show | grep 'DNSSec key master' IPA DNSSec key master: ipa1.example.com
[root@rhel7 ~]# ipa dnsconfig-show | grep 'DNSSec key master' IPA DNSSec key master: ipa1.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 记录哪些服务器提供其他关键角色(如 CA、DNS、KRA、AD 信任代理和 AD 信任控制器)。在将角色分配给新副本或在迁移过程中验证冗余时,您将引用此列表。
如果您的 IdM 部署与活动目录(AD)林信任,请计划在迁移过程中确保:
- 至少一个信任控制器始终保持在线。
- 每当可能的情况下,每个副本也会运行信任代理,以便客户端可以解析 AD 用户,而不考虑它们联系的服务器。
- 查看复制协议和站点布局,以确认每个站点在整个迁移中保持冗余连接: Replica topology example。
- 确保每个服务器的复制协议数量与四个或更少链接的长期指南一致: 在拓扑中连接 IdM 副本指南指南。
2.4. 在迁移过程中记录 DNA ID 范围 复制链接链接已复制到粘贴板!
使用这个流程记录当前分配的分布式数字分配(DNA) ID 范围,以便您可以在迁移过程中重新分配它们。记录 DNA 范围是可选的,但强烈建议,特别是对于大型或复杂的拓扑,以防止阻止用户创建。
先决条件
- 以管理员身份登录到 IdM 服务器。
步骤
在要停用的每个服务器上,显示当前分配的 DNA ID 范围:
ipa-replica-manage dnarange-show
[root@rhel7 ~]# ipa-replica-manage dnarange-showCopy to Clipboard Copied! Toggle word wrap Toggle overflow 显示已排队以进行分配的下一个 DNA 范围,以便您可以知道在当前子范围被使用后将分配什么:
ipa-replica-manage dnanextrange-show
[root@rhel7 ~]# ipa-replica-manage dnanextrange-showCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在迁移备注中记录收集的范围。在弃用旧服务器前,在确保新副本的 DNA 范围覆盖时,您将引用这些值。丢失拥有未记录的子范围的服务器可能会阻止新用户或组的创建。
其他资源
2.5. 安全地重复使用 IdM 服务器主机名 复制链接链接已复制到粘贴板!
当您需要在迁移过程中为新副本重复使用现有 IdM 服务器主机名时,请按照以下步骤操作。在以下情况下通常需要主机名重复使用:
- DNS 或防火墙规则与特定的主机名紧密耦合
- 客户端配置明确引用必须保留的主机名
- 网络或安全策略需要特定的服务器名称
这个过程是可选的;只有在需要主机名重复使用时才使用它。对于大型或地理位置的分布式拓扑,需要格外小心,以便在重复使用主机名时防止复制冲突。
先决条件
- 您有对 IdM 拓扑和被替换的服务器的管理访问权限。
- 如果 IP 地址发生更改,可以更新主机名的 DNS 记录。
这个步骤描述了在迁移过程中重复使用现有服务器主机名的专用工作流。只有在特别需要保留 DNS、防火墙规则或客户端配置要求时,才按照以下步骤操作。
如果您使用新主机名执行标准迁移,请跳过这个过程并直接安装新副本。
步骤
从不同副本上的拓扑中删除服务器。例如,要删除
rhel7.example.com:ipa-replica-manage del rhel7.example.com --cleanup
[root@rhel8 ~]# ipa-replica-manage del rhel7.example.com --cleanupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确认命令成功完成,并且移除已复制到剩余的服务器。
在您要停用的 RHEL 7 主机上,卸载 IdM 服务器来清理服务和证书:
ipa-server-install --uninstall
[root@rhel7 ~]# ipa-server-install --uninstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
在使用相同的主机名重新安装副本前,允许复制在所有剩余的服务器间聚合。在高延迟环境中,等待至少一个完整复制循环,并确认主机不再出现在
ipa server-find输出中。 - 复制完全聚合后,您确认了旧服务器不再出现在拓扑中,继续使用重复使用的主机名安装新的 RHEL 8 副本。请参阅 安装 RHEL 8 副本。
安装完成后,在新的 RHEL 8 副本上运行 IdM Healthcheck,以验证没有引入复制冲突:
ipa-healthcheck
[root@rhel8 ~]# ipa-healthcheckCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请特别注意与复制相关的检查,以确保主机名重复使用不会造成冲突。
2.6. 安装 RHEL 8 副本 复制链接链接已复制到粘贴板!
列出 RHEL 7 环境中存在哪些服务器角色:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果要在
rhel7.example.com正在使用的rhel8.example.com中使用相同的每服务器转发器,请查看rhel7.example.com的每服务器转发器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
rhel8.example.com上安装 IdM 服务器,来作为 IdM RHEL 7 服务器的副本,包括rhel7.example.com上存在的所有服务器角色,但 NTP 服务器角色除外。要安装上例中的角色,请使用ipa-replica-install命令的这些选项:-
--setup-ca用来设置证书系统组件 --setup-dns和--forwarder来配置集成 DNS 服务器,并设置每服务器转发器来处理 IdM 域外的 DNS 查询注意另外,如果您的 IdM 部署与 Active Directory(AD)属于信任关系,请将
--setup-adtrust选项添加到ipa-replica-install命令中,以便在rhel8.example.com上配置 AD 信任功能。要设置一个 IdM 服务器,其 IP 地址为 192.0.2.1,使用 IP 地址为 192.0.2.20 的每服务器转发器:
ipa-replica-install --setup-ca --ip-address 192.0.2.1 --setup-dns --forwarder 192.0.2.20
[root@rhel8 ~]# ipa-replica-install --setup-ca --ip-address 192.0.2.1 --setup-dns --forwarder 192.0.2.20Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您不需要指定 RHEL 7 IdM 服务器本身,因为如果 DNS 工作正常,
rhel8.example.com将使用 DNS 自动发现来找到它。
-
-
可选:将外部
NTP时间服务器的_ntp._udp服务(SRV)记录添加到新安装的 IdM 服务器的 DNS 中,即 rhel8.example.com。建议这样做,因为 RHEL 8 中的 IdM 不提供它自己的时间服务。IdM DNS 中时间服务器的 SRV 记录可确保将来的 RHEL 8 副本和客户端安装被自动配置为与 rhel8.example.com 使用的时间服务器同步。这是因为ipa-client-install会查找_ntp._udpDNS 条目,除非在安装命令行界面(CLI)上提供了--ntp-server或--ntp-pool选项。
验证
验证 IdM 服务是否在
rhel8.example.com上运行:ipactl status Directory Service: RUNNING [... output truncated ...] ipa: INFO: The ipactl command was successful
[root@rhel8 ~]# ipactl status Directory Service: RUNNING [... output truncated ...] ipa: INFO: The ipactl command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
rhel8.example.com上运行 IdM Healthcheck 以验证服务、复制和证书健康状况:ipa-healthcheck
[root@rhel8 ~]# ipa-healthcheckCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 Healthcheck 报告警告或错误,请在弃用任何 RHEL 7 服务器前调查并解决它们。对于目标复制测试,您可以运行:
ipa-healthcheck --source=ipahealthcheck.ds.replication --source=ipahealthcheck.ipa.topology
[root@rhel8 ~]# ipa-healthcheck --source=ipahealthcheck.ds.replication --source=ipahealthcheck.ipa.topologyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证
rhel8.example.com的服务器角色与rhel7.example.com的服务器角色相同,但 NTP 服务器角色除外:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:显示
rhel7.example.com和rhel8.example.com之间的复制协议详情:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果您的 IdM 部署与 AD 有信任关系,请验证它是否正常工作:
- 链接:验证 Kerberos 配置
尝试解析
rhel8.example.com上的 AD 用户:id aduser@ad.domain
[root@rhel8 ~]# id aduser@ad.domainCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
rhel8.example.com是否与NTP服务器同步:chronyc tracking Reference ID : CB00710F (ntp.example.com) Stratum : 3 Ref time (UTC) : Tue Nov 16 09:49:17 2021 [... output truncated ...]
[root@rhel8 ~]# chronyc tracking Reference ID : CB00710F (ntp.example.com) Stratum : 3 Ref time (UTC) : Tue Nov 16 09:49:17 2021 [... output truncated ...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7. 为 RHEL 8 IdM 服务器分配 CA 续订服务器角色 复制链接链接已复制到粘贴板!
按照以下流程,使 RHEL 8 服务器成为证书颁发机构(CA)续订服务器。
只有在您的 IdM 部署使用嵌入式证书颁发机构(CA)时,才按照以下步骤操作。
在 rhel8.example.com 上,将 rhel8.example.com 配置为新的 CA 续订服务器:
配置
rhel8.example.com,以处理 CA 子系统证书续订:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出确认更新成功。
在
rhel8.example.com上,启用证书更新器任务:-
打开
/etc/pki/pki-tomcat/ca/CS.cfg配置文件进行编辑。 -
删除
ca.certStatusUpdateInterval条目,或者将其设置为所需的间隔(以秒为单位)。默认值为600。 -
保存并关闭
/etc/pki/pki-tomcat/ca/CS.cfg配置文件。 重启 IdM 服务:
ipactl restart
[user@rhel8 ~]$ ipactl restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
打开
在
rhel7.example.com上,禁用证书更新器任务:-
打开
/etc/pki/pki-tomcat/ca/CS.cfg配置文件进行编辑。 将
ca.certStatusUpdateInterval改为0,或者如果以下条目不存在,就添加它:ca.certStatusUpdateInterval=0
ca.certStatusUpdateInterval=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
保存并关闭
/etc/pki/pki-tomcat/ca/CS.cfg配置文件。 重启 IdM 服务:
ipactl restart
[user@rhel7 ~]$ ipactl restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
打开
2.8. 在 RHEL 7 IdM CA 服务器中停止 CRL 生成 复制链接链接已复制到粘贴板!
只有在您的 IdM 部署使用嵌入式证书颁发机构(CA)时,才按照以下步骤操作。
按照以下流程,使用 ipa-crlgen-manage 命令停止在 rhel7.example.com CA 服务器上生成证书撤销列表(CRL)。
先决条件
- 您必须以 root 身份登录。
流程
可选:检查 rhel7.example.com 是否在生成 CRL:
ipa-crlgen-manage status CRL generation: enabled Last CRL update: 2019-10-31 12:00:00 Last CRL Number: 6 The ipa-crlgen-manage command was successful
[root@rhel7 ~]# ipa-crlgen-manage status CRL generation: enabled Last CRL update: 2019-10-31 12:00:00 Last CRL Number: 6 The ipa-crlgen-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 rhel7.example.com 服务器上停止生成 CRL:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
检查 rhel7.example.com 服务器是否停止生成 CRL:
ipa-crlgen-manage status
[root@rhel7 ~]# ipa-crlgen-manage statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
rhel7.example.com 服务器停止生成 CRL。下一步是在 rhel8.example.com 上启用生成 CRL。
2.9. 在新的 RHEL 8 IdM CA 服务器中启动 CRL 生成 复制链接链接已复制到粘贴板!
只有在您的 IdM 部署使用嵌入式证书颁发机构(CA)时,才按照以下步骤操作。
先决条件
- 您必须以 root 身份登录在 rhel8.example.com 机器上。
步骤
要在 rhel8.example.com 上启动生成 CRL,请使用
ipa-crlgen-manage enable命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要检查是否启用了 CRL 生成,请使用
ipa-crlgen-manage status命令:ipa-crlgen-manage status CRL generation: enabled Last CRL update: 2019-10-31 12:10:00 Last CRL Number: 7 The ipa-crlgen-manage command was successful
[root@rhel8 ~]# ipa-crlgen-manage status CRL generation: enabled Last CRL update: 2019-10-31 12:10:00 Last CRL Number: 7 The ipa-crlgen-manage command was successfulCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.10. 更新固定到特定服务器的 IdM 客户端 复制链接链接已复制到粘贴板!
在替换或停用 IdM 副本后,使用此流程更新不依赖于 DNS 服务发现的客户端。更新固定客户端是可选的,但强烈建议使用静态配置的大型或复杂拓扑。
先决条件
- 您对需要更新的每个客户端都有 root 访问权限。
- 替换的 IdM 服务器位于服务中,并可访问。
步骤
-
更新受影响客户端上的系统解析器,以便它们指向当前的 IdM DNS 服务器。调整
/etc/resolv.conf或您的网络配置工具,以删除对已停用服务器的引用。 如果客户端使用
/etc/ipa/default.conf中定义的回退注册服务器,请将以下两个参数中的 hostname 替换为活动的 IdM 服务器:xmlrpc_uri = https://ipa_new.example.com/ipa/xml server = ipa_new.example.com
xmlrpc_uri = https://ipa_new.example.com/ipa/xml server = ipa_new.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看
/etc/sssd/sssd.conf中的ipa_server参数:-
如果它列出了特定的服务器,请更新列表,使其只包含活跃的副本,或使用
srv切换到仅限 SRV 的发现。 - 如果它引用了停用的主机名,请将其替换为新的服务器名称。
-
如果它列出了特定的服务器,请更新列表,使其只包含活跃的副本,或使用
重启 SSSD 以应用更新:
systemctl restart sssd
[root@client ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 从客户端测试身份验证和查找,以确认它可以访问更新的服务器。
2.11. 停止并退出 RHEL 7 服务器 复制链接链接已复制到粘贴板!
确保所有数据(包括最新的更改)已从
rhel7.example.com正确迁移到rhel8.example.com。例如:在
rhel7.example.com上添加一个新用户:ipa user-add random_user First name: random Last name: user
[root@rhel7 ~]# ipa user-add random_user First name: random Last name: userCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查用户是否已复制到
rhel8.example.com:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
确保为
rhel8.example.com分配了分布式数字分配(DNA)ID 范围。如果您之前记录的 DNA 范围(请参阅 迁移前记录 DNA ID 范围),您可以在重新分配范围时引用这些值。使用以下方法之一:通过创建另一个测试用户,直接在
rhel8.example.com上激活 DNA 插件:ipa user-add another_random_user First name: another Last name: random_user
[root@rhel8 ~]# ipa user-add another_random_user First name: another Last name: random_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将特定的 DNA ID 范围分配给
rhel8.example.com:在
rhel7.example.com上,显示 IdM ID 范围:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
rhel7.example.com上,显示分配的 DNA ID 范围:ipa-replica-manage dnarange-show rhel7.example.com: 196600026-196799999 rhel8.example.com: No range set
[root@rhel7 ~]# ipa-replica-manage dnarange-show rhel7.example.com: 196600026-196799999 rhel8.example.com: No range setCopy to Clipboard Copied! Toggle word wrap Toggle overflow 减少分配给
rhel7.example.com的 DNA ID 范围,以便一部分对rhel8.example.com可用:ipa-replica-manage dnarange-set rhel7.example.com 196600026-196699999
[root@rhel7 ~]# ipa-replica-manage dnarange-set rhel7.example.com 196600026-196699999Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 IdM ID 范围的剩余部分分配给
rhel8.example.com:ipa-replica-manage dnarange-set rhel8.example.com 196700000-196799999
[root@rhel7 ~]# ipa-replica-manage dnarange-set rhel8.example.com 196700000-196799999Copy to Clipboard Copied! Toggle word wrap Toggle overflow
停止
rhel7.example.com上的所有 IdM 服务,以强制域发现新的rhel8.example.com服务器。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 之后,
ipa工具将通过远程过程调用(RPC)联系新的服务器。- 通过在 RHEL 8 服务器上执行删除命令,从拓扑中删除 RHEL 7 服务器。详情请参阅 卸载 IdM 服务器。
其他资源
第 3 章 将 IdM 客户端从 RHEL 7 升级到 RHEL 8 复制链接链接已复制到粘贴板!
与 IdM 服务器不同,支持将 IdM 客户端从 RHEL 7 原位升级到 RHEL 8。
在 RHEL 8 中,一些不常用的选项和不使用的功能已从系统安全服务守护进程(SSSD)中删除,该服务负责 IdM 环境中的身份验证。有关删除这些选项的步骤,请参见以下小节。
3.1. 升级到 RHEL 8 后更新 SSSD 配置 复制链接链接已复制到粘贴板!
将身份管理(IdM)客户端从 Red Hat Enterprise Linux (RHEL) 7 升级到 RHEL 8 后,某些 SSSD 配置选项可能不再支持。leapp upgrade 应用程序可能会在生成的预升级报告中提供有关此类选项的更多详情。
以下流程描述了如何更新 SSSD 配置来解决这些问题。
先决条件
- 您已将 IdM 客户端从 RHEL 7 升级到 RHEL 8。
-
你需要有
root权限才能编辑/etc/sssd/sssd.conf。
3.1.1. 从 本地 ID 提供程序切换到 文件 ID 提供程序 复制链接链接已复制到粘贴板!
如果您看到以下错误,请将 本地 ID 提供程序替换为 文件 ID 提供程序:
SSSD Domain "example.com": local provider is no longer supported and the domain will be ignored. Local provider is no longer supported.
SSSD Domain "example.com": local provider is no longer supported and the domain will be ignored.
Local provider is no longer supported.
步骤
确保您通过
本地ID 提供程序检索的任何用户和组也在/etc/passwd和/etc/group文件中。这样可确保文件提供程序可以访问这些用户和组。如果需要创建用户,请使用
useradd命令。如果需要指定 UID,请添加-u选项:useradd -u 3001 username
[root@client ~]# useradd -u 3001 usernameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果需要创建组,请使用
groupadd命令。如果需要指定 GID,请添加-g选项:groupadd -g 5001 groupname
[root@client ~]# groupadd -g 5001 groupnameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
在文本编辑器中打开
/etc/sssd/sssd.conf配置文件。 将
id_provider=local替换为id_provider=files。[domain/example.com] id_provider = files ...
[domain/example.com] id_provider = files ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
保存
/etc/sssd/sssd.conf配置文件。 重启 SSSD 以载入配置更改。
systemctl restart sssd
[root@client ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.2. 删除已弃用的选项 复制链接链接已复制到粘贴板!
如果您看到关于已弃用选项的以下任一错误,红帽建议从 /etc/sssd/sssd.conf 配置文件中删除这些选项:
SSSD Domain "example.com": option ldap_groups_use_matching_rule_in_chain has no longer any effect Option ldap_groups_use_matching_rule_in_chain was removed and it will be ignored.
SSSD Domain "example.com": option ldap_groups_use_matching_rule_in_chain has no longer any effect
Option ldap_groups_use_matching_rule_in_chain was removed and it will be ignored.
SSSD Domain "example.com": option ldap_initgroups_use_matching_rule_in_chain has no longer any effect Option ldap_initgroups_use_matching_rule_in_chain was removed and it will be ignored.
SSSD Domain "example.com": option ldap_initgroups_use_matching_rule_in_chain has no longer any effect
Option ldap_initgroups_use_matching_rule_in_chain was removed and it will be ignored.
步骤
-
在文本编辑器中打开
/etc/sssd/sssd.conf配置文件。 -
删除任何出现
ldap_groups_use_matching_rule_in_chain或ldap_initgroups_use_matching_rule_in_chain选项的地方。 -
保存
/etc/sssd/sssd.conf配置文件。 重启 SSSD 以载入配置更改。
systemctl restart sssd
[root@client ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3. 为 sudo 规则启用通配符匹配 复制链接链接已复制到粘贴板!
以下警告表示,在 RHEL 8 中,带有通配符的 sudo 规则默认不起作用,因为 ldap_sudo_include_regexp 选项现在默认设置为 false。
SSSD Domain "example.com": sudo rules containing wildcards will stop working. Default value of ldap_sudo_include_regexp changed from true to false for performance reason.
SSSD Domain "example.com": sudo rules containing wildcards will stop working.
Default value of ldap_sudo_include_regexp changed from true to false for performance reason.
如果您使用带有通配符的 sudo 规则,并希望启用通配符匹配,请手动将 ldap_sudo_include_regexp 选项设置为 true。
红帽建议您不要使用通配符来匹配 sudo 规则。
如果 ldap_sudo_include_regexp 选项设为 true,SSSD 会下载 sudoHost 属性中包含通配符的每个 sudo 规则,这会对 LDAP 搜索性能造成负面影响。
步骤
-
在文本编辑器中打开
/etc/sssd/sssd.conf配置文件。 在
example.com域中,设置ldap_sudo_include_regexp=true。[domain/example.com] ... ldap_sudo_include_regexp = true ...
[domain/example.com] ... ldap_sudo_include_regexp = true ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
保存
/etc/sssd/sssd.conf配置文件。 重启 SSSD 以载入配置更改。
systemctl restart sssd
[root@client ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. RHEL 8 中删除的 SSSD 功能列表 复制链接链接已复制到粘贴板!
RHEL 8 中删除了以下 SSSD 功能。
本地ID 提供程序已删除-
用来提供本地 SSSD 缓存中用户信息的
本地ID 提供程序在 RHEL 7 中被弃用,在 RHEL 8 中也不再被支持。如果您在/etc/sssd/sssd.conf配置中有一个带有id_provider=local的域,SSSD 会忽略这个域并正常启动。 - 用来管理
本地域中用户和组的命令行工具已被删除 以下只影响
本地域的命令已被删除:-
sss_useradd -
sss_userdel -
sss_groupadd -
sss_groupdel
-
- 对
ldap_groups_use_matching_rule_in_chain选项的支持已被删除 -
这个特定于 Active Directory 的选项不会提供显著的性能优势,已在任何 RHEL 8 的
sssd.conf配置中被忽略。 - 对
ldap_initgroups_use_matching_rule_in_chain选项的支持已被删除 -
这个特定于 Active Directory 的选项不会提供显著的性能优势,已在任何 RHEL 8 的
sssd.conf配置中被忽略。 ldap_sudo_include_regexp选项现在默认为false-
在 RHEL 7 中,此选项默认设置为
true。如果此选项设为true,SSSD 会下载sudoHost属性中包含通配符的每个sudo规则,这会对 LDAP 搜索性能造成负面影响。 sssd-secrets响应程序已被删除-
由于 Kerberos 缓存管理器(KCM)不再依赖于
sssd-secrets响应程序,并且其他 IdM 进程也不使用它,所以它已被删除。
部分 II. 从外部源迁移到 IdM 复制链接链接已复制到粘贴板!
第 4 章 从非 RHEL Linux 发行版上的 FreeIPA 迁移到 RHEL 8 上的 IdM 复制链接链接已复制到粘贴板!
要将非 RHEL Linux 发行版上的 FreeIPA 部署迁移到 RHEL 8 服务器上的身份管理(IdM)部署,您必须首先将一个新的 RHEL 8 IdM 证书颁发机构(CA)副本添加到现有的 FreeIPA 环境中,将与证书相关的角色传给它,然后停用非 RHEL FreeIPA 服务器。
不支持使用 Convert2RHEL 工具执行非 RHEL FreeIPA 服务器到 RHEL 8 IdM 服务器的原位升级。
要执行迁移,请遵循 将 IdM 环境从 RHEL 7 服务器迁移到 RHEL 8 服务器 中相同的步骤,使用您的非 RHEL FreeIPA CA 副本作为 RHEL 7 服务器:
- 配置 RHEL 8 服务器,并将其作为 IdM 副本添加到非 RHEL Linux 发行版上当前 FreeIPA 环境中。详情请参阅 安装 RHEL 8 副本。
- 使 RHEL 8 复制证书颁发机构(CA)续订服务器。详情请参阅 将 CA 续订服务器角色分配给 RHEL 8 IdM 服务器。
- 在非 RHEL 服务器上停止生成证书撤销列表(CRL),并将 CRL 请求重定向到 RHEL 8 副本。详情请参阅 在 RHEL 7 IdM CA 服务器上停止 CRL 生成。
- 在 RHEL 8 服务器上开始生成 CRL。详情请参阅 在新的 RHEL 8 IdM CA 服务器上启动 CRL 生成。
- 停止并弃用原来的非 RHEL FreeIPA CA 续订服务器。详情请参阅 停止和弃用 RHEL 7 服务器。
第 5 章 从 LDAP 目录迁移到 IdM 复制链接链接已复制到粘贴板!
如果您之前为身份和身份验证查找部署了 LDAP 服务器,您可以将查找服务迁移到身份管理(IdM)。IdM 提供了一个迁移工具来帮助您执行以下任务:
- 传输用户帐户,包括密码和组成员身份,而不会丢失数据。
- 避免在客户端上进行昂贵的配置更新。
此处描述的迁移过程假定一个简单的部署场景,其中在 LDAP 中有一个名字空间,在 IdM 中有一个名字空间。对于更复杂的环境,如有多个名字空间或自定义模式的环境,请联系红帽支持服务。
5.1. 从 LDAP 迁移到 IdM 时的注意事项 复制链接链接已复制到粘贴板!
从 LDAP 服务器移至身份管理(IdM)的过程有以下阶段:
- 迁移 客户端。仔细规划此阶段。确定您当前基础架构中的每个客户端都使用哪些服务。例如,这些服务可能包括 Kerberos 或系统安全服务守护进程(SSSD)。然后,确定您可以在最终的 IdM 部署中使用哪些服务。如需更多信息,请参阅 当从 LDAP 迁移到 IdM 时规划客户端配置。
- 迁移 数据。
- 迁移 密码。仔细规划此阶段。除了密码,IdM 还需要每个用户帐户的 Kerberos 哈希。在从 LDAP 迁移到 IdM 时规划密码迁移 中涵盖了一些注意事项和密码迁移路径。
您可以首先迁移服务器部分,然后迁移客户端,或首先迁移客户端,然后迁移服务器。有关两种迁移类型的更多信息,请参阅 LDAP 到 IdM 的迁移序列。
强烈建议您在尝试迁移真实的 LDAP 环境前设置测试 LDAP 环境并测试迁移过程。在测试环境时,请执行以下操作:
- 在 IdM 中创建测试用户,并将迁移的用户的输出与测试用户的输出进行比较。确保迁移的用户包含测试用户上存在的最小属性和对象类集合。
- 将迁移的用户的输出(如 IdM 上所示)与源用户进行比较,如原始 LDAP 服务器上所示。确保导入的属性不会复制两次,并且它们具有正确的值。
5.2. 在从 LDAP 迁移到 IdM 时规划客户端配置 复制链接链接已复制到粘贴板!
身份管理(IdM)可以支持多种不同的客户端配置,具有不同功能、灵活性和安全性。根据操作系统以及您的 IT 维护优先级,确定最适合每个客户的配置。还要考虑客户端的功能区域:开发计算机通常需要的配置与生产服务器或用户笔记本电脑不同。
大多数环境都混合有客户端连接到 IdM 域的不同方式。管理员必须决定哪种场景最适合每个客户端。
5.2.1. 初始的、迁移前的客户端配置 复制链接链接已复制到粘贴板!
在决定身份管理(IdM)中客户端配置的细节之前,请首先确定当前的、迁移前配置的具体信息。
要迁移的几乎所有 LDAP 部署的初始状态是,有一个提供身份和身份验证服务的 LDAP 服务。
图 5.1. 基本的 LDAP 目录和客户端配置
Linux 和 Unix 客户端使用 PAM_LDAP 和 NSS_LDAP 库来直接连接 LDAP 服务。这些库允许客户端从 LDAP 目录检索用户信息,就像数据存储在 /etc/passwd 或 /etc/shadow 中一样。在现实环境中,如果客户端使用 LDAP 进行身份查找,使用 Kerberos 进行身份验证或其他配置,则基础架构可能更为复杂。
身份管理(IdM)服务器与 LDAP 目录不同,特别是在模式支持和目录树的结构方面。有关这些差异的更多背景,请参阅 当从 LDAP 迁移到 IdM 时规划客户端配置 中的 将 IdM 与标准 LDAP 目录进行对比 部分。这些差异可能会影响数据,特别是目录树,这会影响条目名称。但是,这些差异对客户端配置和将客户端迁移到 IdM 的影响不大。
5.2.2. 推荐的 RHEL 客户端配置 复制链接链接已复制到粘贴板!
描述的客户端配置只支持 RHEL 6.1 及之后的版本以及 RHEL 5.7 之后的版本,它支持最新版本的 SSSD 以及 ipa-client 软件包。可以配置 RHEL 的旧版本 ,如 可选的支持的配置 中所述。
Red Hat Enterprise Linux(RHEL)中的系统安全服务守护进程(SSSD)使用特殊的 PAM 和 NSS 库:pam_ss 和 nss_sss。使用这些库,SSSD 可以与身份管理(IdM)紧密集成,并从其完整的身份验证和身份功能中获益。SSSD 具有一些有用的特性,如缓存身份信息,因此即使与中央服务器的连接丢失,用户也可以登录。
与使用 pam_ldap 和 nss_ldap 库的通用 LDAP 目录服务不同,SSSD 通过定义 域 来在身份和身份验证信息之间建立关系。SSSD 中的域定义以下后端功能:
- 认证
- 身份查找
- 权限
- 密码更改
然后,SSSD 域配置为使用 提供者 来为任何一个或所有这些功能提供信息。域配置始终需要一个 身份 提供者。其他三个提供者是可选的;如果未定义身份验证、访问或密码提供者,则身份提供者用于此功能。
SSSD 可以对所有后端功能使用 IdM 。这是理想的配置,因为它提供完整的 IdM 功能,与通用的 LDAP 身份提供者或 Kerberos 身份验证不同。例如,在日常操作中,SSSD 在 IdM 中强制执行基于主机的访问控制规则和安全功能。
图 5.2. 客户端和带有 IdM 后端的 SSSD
ipa-client-install 脚本自动将 SSSD 配置为对所有其后端服务使用 IdM ,以便默认使用推荐的配置设置 RHEL 客户端。
其他信息
5.2.3. 替代的支持的配置 复制链接链接已复制到粘贴板!
UNIX 和 Linux 系统(如 Mac、Solaris、HP-UX、AIX 和 Scientific Linux)支持身份管理(IdM)管理的所有服务,但不使用 SSSD。同样,旧的 Red Hat Enterprise Linux(RHEL)版本(特别是 6.1 和 5.6)支持 SSSD,但有一个旧版本,它不支持 IdM 作为身份提供者。
如果不能对系统使用 SSSD 的现代版本,则可以通过以下方式配置客户端:
-
客户端使用
nss_ldap连接到 IdM 服务器,就像它是用于身份查找的 LDAP 目录服务器一样。 -
客户端使用
pam_krb5连接到 IdM 服务器,就像它是常规的 Kerberos KDC 一样。
有关配置 带有旧版本的 SSSD 的 RHEL 客户端 以使用 IdM 服务器作为其身份提供者及其 Kerberos 身份验证域的更多信息,请参阅 RHEL 7 系统级身份验证指南 中的 为 RHEL 7 的 SSSD 配置身份和身份验证供应者 部分。
图 5.3. 客户端与带有 LDAP 和 Kerberos 的 IdM
通常,这通常是对客户端使用最安全配置的最佳实践。这意味着 SSSD 或 LDAP 用于身份,Kerberos 用于身份验证。但是,对于某些维护情况和 IT 结构,您可能需要使用最简单的情景:通过在客户端上使用 nss_ldap 和 pam_ldap 库将 LDAP 配置为提供身份和身份验证。
5.3. 在从 LDAP 迁移到 IdM 时规划密码迁移 复制链接链接已复制到粘贴板!
在将用户从 LDAP 迁移到身份管理(IdM)之前,需要回答的一个关键问题是是否迁移用户密码。可用的选项如下:
- 迁移没有密码的用户
可以更快地执行,但需要管理员和用户进行更多的手动操作。在某些情况下,这是唯一可用的选项:例如,如果 原始的 LDAP 环境存储了明文用户密码,或者如果 密码不符合 IdM 中定义的密码策略要求。
在迁移无密码的用户帐户时,您可以重置所有用户密码。迁移的用户被分配一个临时密码,在第一次登录时更改该密码。有关如何重置密码的更多信息,请参阅 RHEL 7 IdM 文档中的 更改和重置用户密码。
- 迁移带密码的用户
提供更顺畅的过渡,但还需要在迁移和转换过程中并行管理 LDAP 目录和 IdM。其原因在于,默认情况下,IdM 使用 Kerberos 进行身份验证,并且要求每个用户除标准用户密码外还有存储在 IdM 目录服务器中的 Kerberos 哈希。要生成哈希,需要以明文形式将用户密码提供给 IdM 服务器。在创建新用户密码时,密码会在被哈希处理前以明文形式提供,并存储在 IdM 中。但是,当用户从 LDAP 目录迁移时,相关的用户密码已被哈希处理,因此无法生成相应的 Kerberos 密钥。
重要默认情况下,用户无法验证到 IdM 域或访问 IdM 资源,除非它们有 Kerberos 哈希 - 即使用户帐户已经存在。有一个临时解决方案:在 IdM 中使用 LDAP 身份验证,而不是 Kerberos 身份验证。在这个临时解决方案中,用户不需要 Kerberos 哈希。但是,这个临时解决方案限制了 IdM 的功能,我们不推荐。
以下章节解释了如何迁移用户及其密码:
5.3.1. 在将 LDAP 迁移到 IdM 时迁移密码的方法 复制链接链接已复制到粘贴板!
要在不强制用户更改密码的情况下将用户帐户从 LDAP 迁移到身份管理(IdM),您可以使用以下方法:
方法 1: 使用迁移网页
告诉用户一次性将其 LDAP 凭据输入到 IdM Web UI 中的特殊页面 https://ipaserver.example.com/ipa/migration。在后台运行的脚本随后捕获明文密码,并使用密码和合适的 Kerberos 哈希正确更新用户帐户。
方法 2(推荐):使用 SSSD
通过使用系统安全服务守护进程(SSSD)生成所需的用户密钥来缓解迁移对用户的影响。对于具有大量用户的部署,或者用户不应承担密码更改所带来的负担的部署,这是最佳方案。
工作流
- 用户尝试使用 SSSD 登录到机器。
- SSSD 尝试对 IdM 服务器执行 Kerberos 身份验证。
- 即使用户在系统中存在,但会出现错误为 key type is not supported 的身份验证失败,因为 Kerberos哈希不存在。
- SSSD 通过安全连接执行纯文本 LDAP 绑定。
- IdM 截获此绑定请求。如果用户有 Kerberos 主体,但没有 Kerberos 哈希,则 IdM 身份提供者会生成哈希,并将其存储在用户条目中。
- 如果身份验证成功,SSSD 会断开与 IdM 的连接,并再次尝试 Kerberos 身份验证。这一次,请求会成功,因为条目中存在哈希。
使用方法 2 时,整个过程对用户不可见。他们登录客户端服务,但请注意他们的密码已从 LDAP 移到 IdM。
5.3.2. 规划明文 LDAP 密码的迁移 复制链接链接已复制到粘贴板!
尽管大多数部署中 LDAP 密码都被加密存储,但可能有一些用户或一些环境对用户条目使用明文密码。
当用户从 LDAP 服务器迁移到 IdM 服务器时,他们的明文密码不会被迁移,因为 IdM 不允许明文密码。相反,会为每个用户创建一个 Kerberos 主体,keytab 设为 true,密码设为过期。这意味着 IdM 要求用户在下次登录时重置密码。如需更多信息,请参阅 规划不满足 IdM 要求的 LDAP 密码的迁移 。
5.3.3. 规划不满足 IdM 要求的 LDAP 密码的迁移 复制链接链接已复制到粘贴板!
如果原始目录中的用户密码不符合身份管理(IdM)中定义的密码策略,则迁移后密码将无效。
当用户通过输入 kinit 第一次尝试获得 IdM 域中的 Kerberos 票据授权票据(TGT)时,会自动完成密码重置。强制用户更改其密码:
kinit Password for migrated_idm_user@IDM.EXAMPLE.COM: Password expired. You must change it now. Enter new password: Enter it again:
[migrated_idm_user@idmclient ~]$ kinit
Password for migrated_idm_user@IDM.EXAMPLE.COM:
Password expired. You must change it now.
Enter new password:
Enter it again:
5.4. 进一步的迁移注意事项和要求 复制链接链接已复制到粘贴板!
当您计划从 LDAP 服务器迁移到身份管理(IdM)时,请确保您的 LDAP 环境能够使用 IdM 迁移脚本。
5.4.1. 支持迁移的 LDAP 服务器 复制链接链接已复制到粘贴板!
从 LDAP 服务器到 IdM 的迁移过程使用一个特殊的脚本 ipa migrate-ds 来执行迁移。此脚本对 LDAP 目录的结构和 LDAP 条目有具体的要求。仅支持对符合 LDAPv3 的目录服务的迁移,其中包括几个通用目录:
- Sun ONE 目录服务器
- Apache 目录服务器
- OpenLDAP
从 LDAP 服务器到 IdM 的迁移已使用红帽目录服务器和 OpenLDAP 进行了测试。
Microsoft 活动目录 不支持 使用迁移脚本进行迁移,因为它不是符合 LDAPv3 的目录。如需从活动目录进行迁移的帮助,请联系红帽专业服务。
5.4.2. LDAP 环境迁移要求 复制链接链接已复制到粘贴板!
LDAP 服务器和身份管理(IdM)存在许多不同的配置场景,这会影响迁移过程的顺畅性。对于示例迁移流程,这些是关于环境的假设:
- 正在将一个 LDAP 目录域迁移到一个 IdM 域。不涉及整合。
- 用户密码作为哈希存储在 LDAP 目录中。有关支持的哈希列表,请参阅 红帽目录服务器文档 中红帽目录服务器 10 部分中的 配置、命令和 文件参考 标题中的密码存储模式部分。
-
LDAP 目录实例是身份存储和身份验证方法。客户端机器配置为使用
pam_ldap或nss_ldap库来连接 LDAP 服务器。 - 条目仅使用标准的 LDAP 模式。包含自定义对象类或属性的条目不会迁移到 IdM。
ipa migrate-ds命令只迁移以下帐户:-
哪些包含
gidNumber属性的账户。posixAccount对象类需要此属性。 -
哪些包含
sn属性的账户。person对象类需要此属性。
-
哪些包含
通用 LDAP 支持与机构单元(OU)的深度嵌套结构。这允许以分层方式构建 LDAP 目录,具有多个级别的 OU、组和用户。RHEL IdM 中无法进行这种层次结构,其中所有用户都存储在 cn=users,cn=accounts,$SUFFIX flat 用户容器中。因此,当将带有深度嵌套结构的 LDAP 数据库迁移到 RHEL IdM 时,您可以选择:
- 为来自不同 OU 的用户执行多个迁移。
- 执行子树搜索以覆盖多个 OU。
有关这些选项的详情,请查看 ipa migrate-ds -help。
5.4.3. IdM 系统迁移要求 复制链接链接已复制到粘贴板!
对于约 10,000 个用户和 10 个组的中等大小的目录,必须具有足够强大的目标 IdM 系统才能允许处理迁移。迁移的最低要求是:
- 4 个核
- 4GB RAM
- 30GB 磁盘空间
2 MB 的 SASL 缓冲区 ,这是 IdM 服务器的默认大小
如果出现迁移错误,请增加缓冲大小:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置
nsslapd-sasl-max-buffer-size值(以字节为单位)。
5.4.4. 用户和组 ID 号 复制链接链接已复制到粘贴板!
当从 LDAP 迁移到 IdM 部署时,请确保部署之间没有用户 ID (UID)和组 ID (GID)冲突。迁移前,请验证:
- 您知道您的 LDAP ID 范围。
- 您知道您的 IdM ID 范围。
- LDAP 服务器上的 UID 和 GID 之间没有重叠,在 RHEL 系统或 IdM 部署上的现有 UID 或 GID 之间没有重叠。
迁移的 LDAP UID 和 GID 适合 IdM ID 范围。
- 如果需要,在迁移前创建一个新的 IdM ID 范围。
5.4.5. 关于 sudo 规则的注意事项 复制链接链接已复制到粘贴板!
如果您将 sudo 与 LDAP 一起使用,则您必须手动将存储在 LDAP 中的 sudo 规则迁移到身份管理(IdM)。红帽建议您在 IdM 中重新创建 netgroups 来作为 hostgroups。对于不使用 SSSD sudo 提供者的 sudo 配置,IdM 自动将 hostgroups 显示为传统的 netgroups。
5.4.6. LDAP 到 IdM 的迁移工具 复制链接链接已复制到粘贴板!
身份管理(IdM)使用特定命令 ipa migrate-ds 来执行迁移过程,以便 LDAP 目录数据被正确格式化并干净地导入到 IdM 服务器中。使用 ipa migrate-ds 时,远程系统用户(由 --bind-dn 选项指定的)必须具有对 userPassword 属性的读权限,否则将不能迁移密码。
IdM 服务器必须配置为在迁移模式下运行,然后才可以使用迁移脚本。详情请参阅 将 LDAP 服务器迁移到 IdM。
5.4.7. 提高 LDAP 到 IdM 的迁移性能 复制链接链接已复制到粘贴板!
LDAP 迁移本质上是 IdM 服务器中 389 目录服务器(DS)实例的一个专门的导入操作。调优 389 DS 实例以获得更好的导入操作性能,有助于提高整体迁移性能。
有两个参数会直接影响导入性能:
nsslapd-cachememsize属性定义条目缓存允许的大小。这是一个缓冲区,其自动设置为总缓存大小的 80%。对于大规模导入操作,您可以增加此参数以及可能的内存缓存本身。这一改进将提高目录服务处理大量条目或具有大量属性的条目的效率。有关如何使用
dsconf命令修改属性的详情,请参阅 在 IdM 目录服务器 中调整条目缓存大小。系统
ulimit配置选项设置系统用户允许的最大进程数。处理大型数据库可能会超出限制。如果发生这种情况,请增大值:ulimit -u 4096
[root@server ~]# ulimit -u 4096Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.8. LDAP 到 IdM 的迁移序列 复制链接链接已复制到粘贴板!
迁移到 IdM 时有四个主要步骤,但它们的顺序根据您要首先迁移 服务器 还是 客户端 而有所不同。
客户端优先和服务器优先迁移都提供了常规迁移流程,但它们可能无法在每个环境中都正常工作。在尝试迁移真实的 LDAP 环境之前,请设置测试 LDAP 环境,并测试迁移过程。
- 客户端优先迁移
SSSD 用于在配置身份管理(IdM)服务器时更改客户端配置:
- 部署 SSSD。
- 重新配置客户端来连接到当前 LDAP 服务器,然后故障转移到 IdM。
- 安装 IdM 服务器。
-
使用 IdM
ipa migrate-ds脚本迁移用户数据。这会从 LDAP 目录导出数据、IdM 模式的格式,然后将它导入到 IdM。 - 使 LDAP 服务器下线,并允许客户端透明地故障转移到 IdM。
- 服务器优先迁移
LDAP 到 IdM 的迁移首先是:
- 安装 IdM 服务器。
-
使用 IdM
ipa migrate-ds脚本迁移用户数据。这会从 LDAP 目录导出数据,为 IdM 模式格式化数据,然后将其导入到 IdM 中。 - 可选:部署 SSSD。
重新配置客户端来连接到 IdM。不可能简单地替换 LDAP 服务器。IdM 目录树 - 因此用户条目 DN - 与之前的目录树不同。
虽然要求必须重新配置客户端,但不需要立即重新配置客户端。更新的客户端可以指向 IdM 服务器,而其他客户端则指向旧的 LDAP 目录,从而在数据迁移后可允许合理的测试和过渡阶段。
注意不要长时间并行运行 LDAP 目录服务和 IdM 服务器。这增加了用户数据在两个服务间不一致的风险。
5.5. 自定义从 LDAP 到 IdM 的迁移 复制链接链接已复制到粘贴板!
您可以使用 ipa migrate-ds 命令将身份验证和授权服务从 LDAP 服务器迁移到身份管理(IdM)。如果没有附加选项,命令会获取目录的 LDAP URL,来根据常见的默认设置迁移和导出数据。
您可以使用不同的 ipa migrate-ds 命令选项来自定义迁移过程,以及数据如何被识别和导出。如果您的 LDAP 目录树具有唯一的结构,或者您知道必须排除某些条目或条目中的某些属性,则可以自定义迁移。
5.5.1. 从 LDAP 迁移到 IdM 的过程中自定义绑定 DN 和基本 DN 的示例 复制链接链接已复制到粘贴板!
使用 ipa migrate-ds 命令来从 LDAP 迁移到身份管理(IdM)。如果没有附加选项,命令会获取目录的 LDAP URL,来根据常见的默认设置迁移和导出数据。以下是修改默认设置的示例:
ipa migrate-ds ldap://ldap.example.com:389
# ipa migrate-ds ldap://ldap.example.com:389
- 自定义绑定 DN
默认情况下,DN "
cn=Directory Manager" 用于绑定到远程 LDAP 目录。使用--bind-dn选项来指定自定义绑定 DN:ipa migrate-ds ldap://ldap.example.com:389 --bind-dn=cn=Manager,dc=example,dc=com
# ipa migrate-ds ldap://ldap.example.com:389 --bind-dn=cn=Manager,dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 自定义命名上下文
如果 LDAP 服务器命名上下文与 IdM 中使用的不同,对象的基本 DN 会被转换。例如:
uid=user,ou=Person,dc=ldap,dc=example,dc=com被迁移到uid=user,ou=Person,dc=idm,dc=example,dc=com。使用--base-dn选项,您可以更改容器子树的目标,因此设置远程 LDAP 服务器上用于迁移的基本 DN:ipa migrate-ds --base-dn="ou=people,dc=example,dc=com" ldap://ldap.example.com:389
# ipa migrate-ds --base-dn="ou=people,dc=example,dc=com" ldap://ldap.example.com:389Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5.2. 特定子树的迁移 复制链接链接已复制到粘贴板!
默认目录结构将人员条目置于 ou=People 子树中,并将组条目置于 ou=Groups 子树中。这些子树是这些不同类型的目录数据的容器条目。如果您不将任何选项用于 migrate-ds 命令,则 工具假定给定的 LDAP 目录使用 ou=People 和 ou=Groups 结构。
许多部署可能具有完全不同的目录结构,或者您可能只想导出原始目录树的某些部分。作为管理员,您可以使用以下选项来指定源 LDAP 服务器上不同用户或组子树的 RDN:
-
--user-container -
--group-container
在这两种情况下,子树都必须是相对区分名称(RDN),并且必须相对于基本 DN。例如,您可以使用 --user-container=ou=Employees 迁移 >ou=Employees,dc=example,dc=com 目录树。
例如:
ipa migrate-ds --user-container=ou=employees \ --group-container="ou=employee groups" ldap://ldap.example.com:389
[ipaserver ~]# ipa migrate-ds --user-container=ou=employees \
--group-container="ou=employee groups" ldap://ldap.example.com:389
另外,还可在 ipa migrate-ds 命令中添加 --scope 选项来设置范围:
-
onelevel:默认的。仅迁移指定容器中的条目。 -
subtree:指定容器中的条目以及所有子容器都被迁移。 -
base:仅迁移指定的对象本身。
5.5.3. 条目的包含和排除 复制链接链接已复制到粘贴板!
默认情况下,ipa migrate-ds 脚本导入具有 person 对象类的每个用户条目,以及具有 groupOfUniqueNames 或 groupOfNames 对象类的每个组条目。
在某些迁移路径中,可能需要导出特定类型的用户和组,或者需要排除特定的用户和组。您可以通过在查找用户或组条目时设置要搜索的对象类来选择要包括哪个用户和组 类型。
当您对不同的 用户 类型使用自定义对象类时,此选项特别有用。例如,以下命令仅迁移具有自定义 fullTimeEmployee 对象类的用户:
ipa migrate-ds --user-objectclass=fullTimeEmployee ldap://ldap.example.com:389
[root@ipaserver ~]# ipa migrate-ds --user-objectclass=fullTimeEmployee ldap://ldap.example.com:389
由于不同类型的组,这对于仅迁移某些类型的 组 (如用户组),同时排除其他类型的组(如证书组)也非常有用,。例如:
ipa migrate-ds --group-objectclass=groupOfNames --group-objectclass=groupOfUniqueNames ldap://ldap.example.com:389
[root@ipaserver ~]# ipa migrate-ds --group-objectclass=groupOfNames --group-objectclass=groupOfUniqueNames ldap://ldap.example.com:389
根据对象类指定要迁移的用户和组条目,可以隐式地将所有其他用户和组从迁移中排除。
或者,除了少量条目之外,迁移所有用户和组条目也很有用。您可以在迁移该类型的所有其他用户或组帐户时排除特定的用户或组帐户。例如,这仅排除一个 hobbies 组和两个用户:
ipa migrate-ds --exclude-groups="Golfers Group" --exclude-users=idmuser101 --exclude-users=idmuser102 ldap://ldap.example.com:389
[root@ipaserver ~]# ipa migrate-ds --exclude-groups="Golfers Group" --exclude-users=idmuser101 --exclude-users=idmuser102 ldap://ldap.example.com:389
exclude 语句应用到与 uid 中模式匹配的用户,以及在 cn 属性中与其匹配的组。
您可以迁移常规对象类,但排除该类的特定条目。例如,这特别包括具有 fullTimeEmployee 对象类的用户,但排除了三个管理者:
ipa migrate-ds --user-objectclass=fullTimeEmployee --exclude-users=jsmith --exclude-users=bjensen --exclude-users=mreynolds ldap://ldap.example.com:389
[root@ipaserver ~]# ipa migrate-ds --user-objectclass=fullTimeEmployee --exclude-users=jsmith --exclude-users=bjensen --exclude-users=mreynolds ldap://ldap.example.com:389
5.5.4. 条目属性的排除 复制链接链接已复制到粘贴板!
默认情况下,用户或组条目的每个属性和对象类都将被迁移。在某些场景中,由于带宽和网络的约束,或者由于属性数据不再相关,这可能不太现实。例如,如果在用户在加入身份管理(IdM)域时为其分配了新用户证书,那么迁移 userCertificate 属性就毫无用处。
您可以通过在 migrate-ds 命令中使用以下选项来忽略特定的对象类和属性:
-
--user-ignore-objectclass -
--user-ignore-attribute -
--group-ignore-objectclass -
--group-ignore-attribute
例如,要为用户排除 userCertificate 属性和 strongAuthenticationUse 对象类,为组排除 groupOfCertificate 对象类:
ipa migrate-ds --user-ignore-attribute=userCertificate --user-ignore-objectclass=strongAuthenticationUser --group-ignore-objectclass=groupOfCertificates ldap://ldap.example.com:389
[root@ipaserver ~]# ipa migrate-ds --user-ignore-attribute=userCertificate --user-ignore-objectclass=strongAuthenticationUser --group-ignore-objectclass=groupOfCertificates ldap://ldap.example.com:389
确保不要忽略任何必需的属性。另外,在排除对象类时,请确保排除该对象类只支持的任何属性。
5.5.5. 从 LDAP 迁移到 IdM 时使用的模式和模式兼容特性 复制链接链接已复制到粘贴板!
身份管理(IdM)使用 RFC2307bis 模式来定义用户、主机、主机组和其他网络身份。但是,如果用作迁移源的 LDAP 服务器使用 RFC2307 模式,请在使用 ipa migrate-ds 命令时指定 --schema 选项:
ipa migrate-ds --schema=RFC2307 ldap://ldap.example.com:389
[root@ipaserver ~]# ipa migrate-ds --schema=RFC2307 ldap://ldap.example.com:389
另外,IdM 具有内置 模式兼容特性,其允许 IdM 为不支持 RFC2307bis 的系统重新格式化数据。兼容插件默认为启用,这意味着目录服务器会计算用户和组的替代视图,并在 cn=users,cn=compat,dc=example,dc=com 容器条目中提供此视图。它通过在启动时预先计算其条目内容来实现,并根据需要刷新其条目。
建议在迁移过程中禁用此特性,以减少系统开销。
5.6. 将 LDAP 服务器迁移到 IdM 复制链接链接已复制到粘贴板!
您可以使用 ipa migrate-ds 命令将身份验证和授权服务从 LDAP 服务器迁移到身份管理(IdM)。
这是一个通用的迁移流程,可能在每个环境中不一定能正常工作。
强烈建议您在尝试迁移真实的 LDAP 环境前设置测试 LDAP 环境并测试迁移过程。在测试环境时,请执行以下操作:
- 在 IdM 中创建测试用户,并将迁移的用户的输出与测试用户的输出进行比较。
- 将迁移的用户的输出(如 IdM 上所示)与源用户进行比较,如原始 LDAP 服务器上所示。
有关更多的指导,请参见下面的 验证 部分。
先决条件
- 有 LDAP 目录的管理员特权。
- 如果已安装 IdM,则您有 IdM 的管理员权限。
-
您以
root身份登录到要在其上执行以下流程的 RHEL 系统。 您已阅读并理解了以下章节:
步骤
如果 IdM 尚未安装:在安装了现有 LDAP 目录的不同机器上安装 IdM 服务器,包括任何自定义 LDAP 目录模式。详情请参阅 安装身份管理。
注意自定义用户或组模式在 IdM 中的支持有限。它们可能会在迁移过程中导致问题,因为对象定义不兼容。
出于性能考虑,禁用兼容插件:
ipa-compat-manage disable
# ipa-compat-manage disableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 有关模式兼容特性以及为迁移禁用它的好处的更多信息,请参阅 从 LDAP 迁移到 IdM 时使用的模式和模式兼容功能。
重启 IdM 目录服务器实例:
systemctl restart dirsrv.target
# systemctl restart dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 IdM 服务器来允许迁移:
ipa config-mod --enable-migration=TRUE
# ipa config-mod --enable-migration=TRUECopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过将
--enable-migration设为 TRUE,您可以执行以下操作:- 在 LDAP 添加操作过程中允许预哈希密码。
- 如果初始 Kerberos 身份验证失败,则将 SSSD 配置为尝试密码迁移序列。如需更多信息,请参阅 将密码从 LDAP 迁移到 IdM 时的使用 SSSD 中的工作流部分。
运行 IdM 迁移脚本
ipa migrate-ds以及与您的用例相关的选项。如需更多信息,请参阅 自定义从 LDAP 到 IdM 的迁移。ipa migrate-ds --your-options ldap://ldap.example.com:389
# ipa migrate-ds --your-options ldap://ldap.example.com:389Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您没有在前面的步骤中禁用兼容插件,请将
--with-compat选项添加到ipa migrate-ds:ipa migrate-ds --your-options --with-compat ldap://ldap.example.com:389
# ipa migrate-ds --your-options --with-compat ldap://ldap.example.com:389Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启用兼容插件:
ipa-compat-manage enable
# ipa-compat-manage enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 IdM 目录服务器:
systemctl restart dirsrv.target
# systemctl restart dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当所有用户已迁移密码后,禁用迁移模式:
ipa config-mod --enable-migration=FALSE
# ipa config-mod --enable-migration=FALSECopy to Clipboard Copied! Toggle word wrap Toggle overflow -
可选:当所有用户都已迁移后,重新配置非 SSSD 客户端以使用 Kerberos 身份验证,即
pam_krb5,而不是 LDAP 身份验证,即pam_ldap。如需更多信息,请参阅 RHEL 7 系统级身份验证指南 中的 配置 Kerberos 客户端。 让用户生成哈希的 Kerberos 密码。选择 从 LDAP 迁移到 IdM 时规划密码迁移 中描述的方法之一。
如果您决定使用 SSSD 方法 :
将已安装 SSSD 的客户端从 LDAP 目录移到 IdM 目录,并将它们注册为 IdM 的客户端。这会下载所需的密钥和证书。
在 Red Hat Enterprise Linux 客户端上,可以使用
ipa-client-install命令来实现。例如:ipa-client-install --enable-dns-update
# ipa-client-install --enable-dns-updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您决定使用 IdM 迁移 web 页面 方法:
指示用户使用迁移网页登录到 IdM:
https://ipaserver.example.com/ipa/migration
https://ipaserver.example.com/ipa/migrationCopy to Clipboard Copied! Toggle word wrap Toggle overflow
要监控用户迁移过程,请查询现有的 LDAP 目录,以查看哪些用户帐户拥有密码,但还没有 Kerberos 主体键。
ldapsearch -LL -x -D 'cn=Directory Manager' -w secret -b 'cn=users,cn=accounts,dc=example,dc=com' '(&(!(krbprincipalkey=))(userpassword=))' uid
$ ldapsearch -LL -x -D 'cn=Directory Manager' -w secret -b 'cn=users,cn=accounts,dc=example,dc=com' '(&(!(krbprincipalkey=))(userpassword=))' uidCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在过滤器两边包含单引号,以便 shell 不会对其进行解释。
- 当所有客户端和用户的迁移完成后,请停用 LDAP 目录。
验证
使用
ipa user-add命令来在 IdM 中创建测试用户。将迁移的用户的输出与测试用户的输出进行比较。确保迁移的用户包含测试用户上存在的最小属性和对象类集合。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将迁移的用户的输出(如 IdM 上所示)与源用户进行比较,如原始 LDAP 服务器上所示。确保导入的属性不会复制两次,并且它们具有正确的值。
5.7. 通过 SSL 从 LDAP 迁移到 IdM 复制链接链接已复制到粘贴板!
您可以使用 ipa migrate-ds 命令将身份验证和授权服务从 LDAP 服务器迁移到身份管理(IdM)。按照以下流程,在迁移过程中加密传输的数据。
这是一个通用的迁移流程,可能在每个环境中不一定能正常工作。
强烈建议您在尝试迁移真实的 LDAP 环境前设置测试 LDAP 环境并测试迁移过程。在测试环境时,请执行以下操作:
- 在 IdM 中创建测试用户,并将迁移的用户的输出与测试用户的输出进行比较。
- 将迁移的用户的输出(如 IdM 上所示)与源用户进行比较,如原始 LDAP 服务器上所示。
有关更多的指导,请参见下面的 验证 部分。
先决条件
- 有 LDAP 目录的管理员特权。
- 如果已安装 IdM,则您有 IdM 的管理员权限。
-
您以
root身份登录到要在其上执行以下流程的 RHEL 系统。 您已阅读并理解了以下章节:
步骤
-
将签发远程 LDAP 服务器证书的 CA 证书存储在未来 IdM 服务器的文件中。例如:
/tmp/remote.crt。 按照将 将 LDAP 服务器迁移到 IdM 中描述的步骤操作。但是,对于在迁移过程中加密的 LDAP 连接,请使用 URL 中的
ldaps协议,并将--ca-cert-file选项传给ipa migrate-ds命令。例如:ipa migrate-ds --ca-cert-file=/tmp/remote.crt --your-other-options ldaps://ldap.example.com:636
# ipa migrate-ds --ca-cert-file=/tmp/remote.crt --your-other-options ldaps://ldap.example.com:636Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
使用
ipa user-add命令来在 IdM 中创建测试用户。将迁移的用户的输出与测试用户的输出进行比较。确保迁移的用户包含测试用户上存在的最小属性和对象类集合。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将迁移的用户的输出(如 IdM 上所示)与源用户进行比较,如原始 LDAP 服务器上所示。确保导入的属性不会复制两次,并且它们具有正确的值。
部分 III. 在 Linux 域与活动目录域集成上下文中将现有环境从同步迁移到信任 复制链接链接已复制到粘贴板!
在 RHEL 7 中,同步 和信任 是将 RHEL 系统间接集成到活动目录(AD)的两种方法。在 RHEL 8 中,同步已弃用。如果您在 RHEL 7 中,在 RHEL 身份管理(IdM)和 AD 之间有 已配置的同步,红帽建议改为迁移到基于 IdM-AD 信任的方法。
本章论述了如何将现有的基于同步的设置迁移到 AD 信任中。IdM 中提供了以下迁移选项:
第 6 章 使用 ipa-winsync-migrate 从同步自动迁移到信任 复制链接链接已复制到粘贴板!
在 RHEL 8 中,间接将 RHEL 系统集成到活动目录(AD)的同步方法已弃用。红帽建议迁移到基于身份管理(IdM)和 AD 之间信任的方法。本章论述了如何使用 ipa-winsync-migrate 工具从同步自动迁移到信任。
6.1. 使用 ipa-winsync-migrate 从同步自动迁移到信任 复制链接链接已复制到粘贴板!
ipa-winsync-migrate 工具从 AD 林迁移所有同步的用户,同时保留 Winsync 环境中的现有配置,并将其传送到 AD 信任中。对于 Winsync 协议创建的每个 AD 用户,ipa-winsync-migrate 在 Default Trust View 中创建一个 ID 覆盖。
迁移完成后:
AD 用户的 ID 覆盖有以下从 Winsync 中的原始条目复制过来的属性:
-
登录名(
uid) -
UID 号(
uidnumber) -
GID 号(
gidnumber) -
主目录(
homedirectory) -
GECOS 条目(
gecos)
-
登录名(
AD 信任中的用户帐户在 IdM 中保留其原始配置,其中包括:
- POSIX 属性
- 用户组
- 基于角色的访问控制规则
- 基于主机的访问控制规则
- SELinux 成员资格
-
sudo规则
- 新的 AD 用户作为外部 IdM 组的成员添加。
- 原始的 Winsync 复制协议、原始同步的用户帐户以及用户帐户的所有本地副本都被删除。
6.2. 使用 ipa-winsync-migrate 从同步迁移到信任 复制链接链接已复制到粘贴板!
先决条件
- 在 RHEL 7 上,您可以在 RHEL 身份管理(IdM)和 AD 之间 配置了同步。
步骤
使用
ipa-backup工具备份您的 IdM 设置。请参阅 备份和恢复 IdM。- 注意
- 迁移会影响 IdM 配置的很大一部分和许多用户帐户。创建备份可让您在需要时恢复原始设置。
- 创建与同步域的信任。详情请参阅 在 IdM 和 AD 之间安装信任。
运行
ipa-winsync-migrate,并指定 AD 领域和 AD 域控制器的主机名:ipa-winsync-migrate --realm example.com --server ad.example.com
# ipa-winsync-migrate --realm example.com --server ad.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果在
ipa-winsync-migrate创建的覆盖中发生冲突,则会显示有关冲突的信息,但迁移将继续。- 从 AD 服务器卸载 Password Sync 服务。这会从 AD 域控制器中删除同步协议。
第 7 章 使用 ID 视图,从同步手动迁移到信任 复制链接链接已复制到粘贴板!
在 RHEL 8 中,间接将 RHEL 系统集成到活动目录(AD)的同步方法已弃用。红帽建议迁移到基于身份管理(IdM)和 AD 之间信任的方法。本章论述了如何使用 ID 视图,从同步手动迁移到信任。
7.1. 使用 ID 视图,从同步手动迁移到信任 复制链接链接已复制到粘贴板!
您可以使用 ID 视图来手动更改活动目录(AD)之前为 AD 用户生成的 POSIX 属性。
先决条件
- 在 RHEL 7 上,您可以在 RHEL 身份管理(IdM)和 AD 之间 配置了同步。
步骤
- 创建原始同步的用户和组条目的备份。
- 创建与同步域的信任。详情请参阅 在 IdM 和 AD 之间安装信任。
对于每个同步的用户或组,通过执行以下操作之一来保留 IdM 生成的 UID 和 GID:
- 单独创建应用到特定主机的 ID 视图,并在视图中添加用户 ID 覆盖。
- 在 Default Trust View 中创建用户 ID 覆盖。
注意只有 IdM 用户可以管理 ID 视图。AD 用户不能。
- 删除原始同步的用户或组条目。