Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

39.3. 将 LDAP 服务器迁移到身份管理

重要
这是一个一般迁移过程,但可能并不在每个环境中都有效。
强烈建议您在尝试迁移真实 LDAP 环境前设置测试 LDAP 环境并测试迁移过程。验证迁移是否已正确完成:
  • 使用 ipa user-add 命令在 IdM 上创建测试用户,并将迁移的用户的输出与 test 用户进行比较。确保迁移的用户包含 test 用户中存在的最小属性和对象类集合。
    $ ipa user-add TEST_USER
  • 将迁移的用户的输出(在 IdM 上 10 月)与源用户(原始 LDAP 服务器上十之一)进行比较。确保导入的属性没有加倍,且具有预期值。
    $ ipa user-show --all TEST_USER
  1. 在与现有 LDAP 目录不同的机器上安装 IdM 服务器,包括任何自定义 LDAP 目录模式。
    注意
    自定义用户或组模式在 IdM 中的支持有限。它们可能会导致迁移期间出现问题,因为对象定义不兼容。
  2. 禁用 compat 插件。
    [root@server ~]# ipa-compat-manage disable
    如果在迁移过程中需要兼容性树提供的数据,则不需要这一步。
  3. 重启 IdM 目录服务器实例。
    [root@server ~]# systemctl restart dirsrv.target
  4. 配置 IdM 服务器来允许迁移:
    [root@server ~]# ipa config-mod --enable-migration=TRUE
  5. 运行 IdM 迁移脚本 ipa migrate-ds。在最基本的方面,这只需要迁移 LDAP 目录实例的 LDAP URL:
    [root@server ~]# ipa migrate-ds ldap://ldap.example.com:389
    传递 LDAP URL 会利用常见的默认设置迁移所有目录数据。通过指定其他选项(如 第 39.2 节 “使用 ipa migrate-ds的示例” 所述),可以选择性地迁移用户和组数据。
    如果上一步中没有禁用 compat 插件,请将 --with-compat 选项传给 ipa migrate-ds
    导出信息后,该脚本会添加所有必需的 IdM 对象类和属性,并在属性中转换 DN 以匹配 IdM 目录树(如果命名上下文不同)。例如: uid=user,ou=Person,dc=ldap,dc=example,dc=com 被迁移到 uid=user,ou=Person,dc=idm,dc=example,dc=com
  6. 如果在迁移前禁用了 compat 插件,请重新启用 compat 插件。
    [root@server ~]# ipa-compat-manage enable
  7. 重启 IdM 目录服务器实例。
    [root@server ~]# systemctl restart dirsrv.target
  8. 禁用迁移模式:
    [root@server ]# ipa config-mod --enable-migration=FALSE
  9. 可选。重新配置非 SSSD 客户端以使用 Kerberos 身份验证(pam_krb5)而不是 LDAP 身份验证(pam_ldap)。在所有用户都已迁移之前,使用 PAM_LDAP 模块;然后可以使用 PAM_KRB5。如需更多信息,请参阅《 系统级身份验证指南》 中的 配置 Kerberos 客户端
  10. 用户可以通过两种方式生成其哈希 Kerberos 密码:它们都在没有用户互动的情况下迁移用户密码,如 第 39.1.2 节 “计划密码迁移” 所述。
    1. 使用 SSSD:
      1. 将已安装 SSSD 的客户端从 LDAP 后端移到 IdM 后端,并将它们注册为 IdM 的客户端。这会下载所需的密钥和证书。
        在 Red Hat Enterprise Linux 客户端上,可以使用 ipa-client-install 命令来实现。例如:
        [root@server ~]# ipa-client-install --enable-dns-update
    2. 使用 IdM 迁移网页:
      1. 指示用户使用迁移网页登录到 IdM:
        https://ipaserver.example.com/ipa/migration
  11. 要监控用户迁移过程,请查询现有的 LDAP 目录,以查看哪些用户帐户具有密码,但还没有 Kerberos 主键。
    [user@server ~]$ ldapsearch -LL -x -D 'cn=Directory Manager' -w secret -b 'cn=users,cn=accounts,dc=example,dc=com' '(&(!(krbprincipalkey=*))(userpassword=*))' uid
    注意
    在过滤器两边包含单引号,以便 shell 不会对其进行解释。
  12. 完成所有客户端和用户的迁移后,停用 LDAP 目录。