AUTHSELECT-MIGRATIO(7)

NAME
authselect-migration - Eine Anleitung zur Migration von authconfig nach authselect.

BESCHREIBUNG

Dieses Handbuch erklärt die Hauptunterschiede zwischen authconfig, dem früheren Tool zur Konfiguration von System Authentisierung und Identitätsquellen, und authselect, welches es ablöst. Es erklärt ebenfalls, welche Schritte zur Migration von authconfig nach authselect nötig sind.

WESENTLICHE UNTERSCHIEDE

Authselect geht die Systemkonfiguration komplett anders an als das alte Tool authconfig.

Authconfig tut sein Bestes, die manuellen Änderungen der Nutzer an den Dateien, die generiert werden, zu erhalten. Es generiert nicht nur PAM Konfigurationsdateien und nsswitch.conf (um Authentifizierungsmodule und Identitätsquellen einzurichten), sondern auch einfache Konfigurationsdateien für diverse Dienste wie LDAP und Kerberos.

Authselect geht einen anderen Weg. Es generiert keine Konfigurationsdateien ausser PAM und nsswitch.conf und es verhindert jegliche Änderung der generierten Konfiguration. Es stellt einen Dateisatz bereit, der sich profiles nennt. Jedes Profil beschreibt, wie die endgültige Konfiguration aussehen wird und kann leicht verändert werden durch Ein- oder Ausschalten bestimmter optionaler Eigenschaften. Falls ein Profil benötigt wird, das über die mitgelieferten hinausgeht, kann der Administrator ein neues Profil erstellen und es mit authselect benutzen. Weitere Informationen unter authselect-profiles (5).

Was am Anfang nach einem großen Nachteil aussieht, ist in Wahrheit das Gegenteil. Authconfig ist ein veraltetes Tool und die Anwendungen, die die benötigten Dienste bereitstellen, haben sich über die Jahre drastisch verändert. Z. B. gibt es keinen Bedarf mehr für vielfache Authentifizierungsmodule in PAM oder nsswitch.com, da die Mehrzahl aller Fälle durch SSSD abgedeckt wird. Daher ist es nicht mehr nötig, diese explizit hinzuzufügen oder zu entfernen zu können. Mittlerweile gibt es auch bessere Tools zur Erstellung oder Konfiguration von System Daemons um einer entfernten Domäne beizutreten, wie etwa realm. Darüber hinaus bieten uns die mitgelieferten Profile eine verständliche und deterministische Art der Systemkonfiguration, die vollständig getestet werden kann und dadurch weniger fehleranfällig ist. Ausserdem kann eine solche Konfiguration leichter über mehrere Systeme verteilt werden.

Die wahrscheinlich umstrittendste Änderung ist, daß authselect nur Profile für sssd und winbind Anbieter mitliefert. Diese zwei Anbieter decken alle gegenwärtigen Fälle ab von lokalen Benutzern und älteren LDAP Domänen bis hin zu komplexen Konfigurationen mit IPA oder Active Directory Servern. Die Profile unterstützen kein nss-pam-ldapd mehr, so daß die Benutzer ermutigt werden, auf sssd zu wechseln.

VERBINDEN ENTFERNTER DOMÄNEN

Benutzen Sie ipa-client-install oder realm, um einer IPA Domäne beizutreten, und realm, um einer Active Directory Domäne beizutreten. Diese Anwendungen stellen sicher, dass die richtigen authselect Profile ausgewählt und alle daemons und Dienste richtig konfiguriert werden.

KONVERTIERUNG IHRER SKRIPTEN

If you use ipa-client-install or realm to join a domain, you can just remove any authconfig call in your scripts. If this is not an option, you need to replace each authconfig call with its equivalent authselect call to select a correct profile with desired features. Then you also need to write configuration file for required services.

Table 1. Relation of authconfig options to authselect profiles
--enablenis | none

Table 2. Relation of authconfig options to authselect profile features
Authconfig options | Authselect profile feature
--enablesmartcard | with-smartcard
--enablefingerprint | with-fingerprint
--enableecryptfs | with-ecryptfs
--enablemkhomedir | with-mkhomedir
--enablefaillock | with-faillock
--enablepamaccess | with-pamaccess
--enablewinbindkrb5 | with-krb5
--enableshadow | none
--passalgo | none

    Note

    Authconfig options --enableshadow and --passalgo=sha512 were often used to make sure that passwords are stored in /etc/shadow using sha512 algorithm. The authselect profiles now use the yescrypt hashing method and it cannot be changed through an option (only by creating a custom profile). You can just omit these options.

Beispiele.

    authconfig --enableldap --enableldapauth --enablefaillock --updateall
    authselect select sssd with-faillock
    authconfig --enablesssd --enablesssdauth --enablesmartcard --smartcardmodule=sssd --updateall
    authselect select sssd with-smartcard
    authconfig --enableecryptfs --enablepamaccess --updateall
    authselect select sssd with-ecryptfs with-pamaccess
    authconfig --enablewinbind --enablewinbindauth --winbindjoin=Administrator --updateall
    realm join -U Administrator --client-software=winbind WINBINDDOMAIN

KONFIGURATIONSDATEIEN

This section contains snippets for minimal configuration of various services.

  LDAP

Even if LDAP is not directly used through pam_ldap and nss_ldap, it is still useful to configure ldap.conf to configure openldap-libs and indirectly, e.g. LDAP tools such as ldapsearch.

"/etc"/openldap/ldap.conf.

    # Set the default base dn
    BASE   dc=example,dc=com
    # Set the default LDAP server
    URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

  KERBEROS

If you use Kerberos, the default Kerberos realm should be configured in order for krb5-libs and therefore tools such as kinit to work out of the box.

"/etc"/krb5.conf.

    [libdefaults]
     default_realm = MYREALM
    [realms]
     MYREALM = {
      kdc = kdc.myrealm.org
     }
    [domain_realm]
     myrealm.org = MYREALM
     .myrealm.org = MYREALM

  SSSD

Authselect encourages users to use SSSD wherever possible. There are many configuration options, see sssd.conf(5). This is a minimal configuration that creates one LDAP domain called default. The LDAP server is auto-discovered through DNS lookups.

"/etc"/sssd/sssd.conf.

    [sssd]
    config_file_version = 2
    domains = default
    [domain/default]
    id_provider = ldap
    ldap_uri = _srv_
    dns_discovery_domain = myrealm

And here is a configuration snippet for the same domain but now the authentication is done over Kerberos. The KDC server is auto-discovered through DNS lookups.

"/etc"/sssd/sssd.conf.

    [sssd]
    config_file_version = 2
    domains = default
    [domain/default]
    id_provider = ldap
    auth_provider = krb5
    ldap_uri = _srv_
    krb5_server = _srv_
    krb5_realm = MYREALM
    dns_discovery_domain = myrealm

If you want to configure SSSD for an IPA or Active Directory domain, use the realm tool. This will perform an initial setup which involves creating a Kerberos keytab and generating basic SSSD configuration. You can then tune it up by modifying "/etc"/sssd/sssd.conf.

  WINBIND

If you want to configure the machine to use Winbind, use realm. This will perform an initial setup which involves creating a Kerberos keytab and running adcli to join the domain. It also makes changes to smb.conf. You can then tune it up by modifying "/etc"/samba/smb.conf.

  PASSWORT-QUALITÄT

Authselect enables pam_pwquality module to enforce password quality restrictions. This module is enabled only for local users. Remote users should use the password policy that is enforced by the respective remote server.

The pam_pwquality module can be configured in "/etc"/security/pwquality.conf. See pam_pwquality(8) to see its configuration options and defaults.

DIENSTE STARTEN

Depending on your configuration, you need to start required services manually with systemd.

    • SSSD

        systemctl enable sssd.service ; systemctl start sssd.service

    • Winbind

        systemctl enable winbind.service ; systemctl start winbind.service

    • NIS

        systemctl enable rpcbind.service ; systemctl start rpcbind.service
        systemctl enable ypbind.service ; systemctl start ypbind.service

    • If mkhomedir feature is enabled

        systemctl enable oddjobd.service ; systemctl start oddjobd.service

AUTHCONFIG-WERKZEUGE

Authconfig shipped a tool called cacertdir_rehash. If you depend on this tool, please switch to native openssl command: openssl rehash <directory> that serves the same purpose.

SIEHE AUCH

authselect(8), authselect-profiles(5), realm(8), ipa-client-install(1), sssd.conf(5), smb.conf(5), ldap.conf(5), krb5.conf(5)