Product SiteDocumentation Site

19.3. Scenario 1: Using SSSD as Part of Migration


This is a general migration procedure, but it may not work in every environment.
It is strongly recommended that you set up a test LDAP environment and test the migration process before attempting to migrate the real LDAP environment.
  1. Set up SSSD. Using SSSD allows the required Kerberos keys and server certificates to be delivered to the clients.
    1. Install SSSD on every client machine:
      # yum install sssd
    2. Configure an LDAP identity provider in SSSD to use the existing Directory Server for all functions (authentication, identity lookups, access, and password changes). This ensures every client works properly with the existing directory service.
  2. Install FreeIPA, including any custom LDAP directory schema[5], on a different machine from the existing LDAP directory.
  3. Enable the FreeIPA server to allow migration:
    # ipa config-mod --enable-migration=TRUE
  4. Disable the compat plug-in.
    # ipa-compat-manage disable
  5. Restart the FreeIPA Directory Server instance.
    # service dirsrv restart
  6. Run the FreeIPA migration script, ipa migrate-ds. At its most basic, this requires only the LDAP URL of the LDAP directory instance to migrate:
    # ipa migrate-ds ldap://
    Simply passing the LDAP URL migrates all of the directory data using common default settings. The user and group data can be selectively migrated by specifying other options, as covered in Section 19.2, “Examples for Using migrate-ds”.
    Once the information is exported, the script adds all required FreeIPA object classes and attributes and converts DNs in attributes to match the FreeIPA directory tree.
  7. Re-enable the compat plug-in.
    # ipa-compat-manage enable
  8. Restart the FreeIPA Directory Server instance.
    # service dirsrv restart
  9. Move clients that have SSSD installed from the LDAP backend to the FreeIPA backend and enroll them as client with FreeIPA. This downloads the required keys and certificates.
    On Fedora clients, this can be done using the ipa-client-install command. For example:
    # ipa-client-install --enable-dns-updates
  10. Have users log into a machine with SSSD and FreeIPA backend. This generates the required Kerberos keys for the user.
    To monitor the user migration process, query the existing LDAP directory to see which user accounts have a password but do not yet have a Kerberos principal key.
    $ ldapsearch -LL -x -D 'cn=Directory Manager' -w secret -b 'ou=people,dc=example,dc=com' '(&(!(krbprincipalkey=*))(userpassword=*))' uid


    Include the quotes around the filter so that it is not interpreted by the shell.
  11. Once users have been migrated over, configure non-SSSD clients to use the FreeIPA domain, as required.
  12. When the migration of all clients and users is complete, decommission the LDAP directory.

[5] There is limited support for custom user and group schema in FreeIPA.