AUTHSELECT-MIGRATIO(7)

NAME
authselect-migration - Un guide sur la façon de migrer de authconfig vers authselect.

DESCRIPTION

Cette page de manuel explique les principales différences entre authconfig, l’outil précédant pour configurer les sources d’authentification et d’identité du système, et authselect qui le remplace. Elle explique également quelles actions doivent être faites afin de migrer de authconfig vers authselect.

DIFFÉRENCES PRINCIPALES

Authselet a une approche totalement différente de la configuration système que authconfig, l’outil précédent.

Authconfig fait de son mieux pour garder les changements manuels des utilisateurs dans les fichiers qu’il génère. Il génère non seulement les fichiers de configuration PAM et nsswitch.conf (pour la configuration des modules sources d’authentification et d’identité) mais il génère également des fichiers de configuration simple pour plusieurs services tels que LDAP et Kerberos.

Authselect ne fait pas ceci. Il n’essaye pas de générer de fichiers de configuration autre que PAM et nsswitch.conf et il interdit strictement tout changement manuel à la configuration générée. Il offre un ensemble de fichiers appelés profils. Chaque profil décrit ce à quoi la configuration résultante doit ressembler et elle peut être légèrement modifiée en activant ou désactivant quelques fonctionnalités optionnelles. Si un besoin se manifeste pour un profil différent de ceux fournis avec authselect, l’administrateur a une option pour créer un tout nouveau profil et l’utiliser avec authselect. Lisez authselect-profiles(5) pour en savoir plus sur les profils.

Cela pourrait être un grand désavantage, mais c’est en fait le contraire. Authconfig est un très vieux outil et les applications offrants les services requis ont changé rapidement à travers les années. Typiquement, il n’y a plus besoin d’avoir de multiples modules d’authentification dans PAM et nsswitch.conf, car la grande majorité des cas d’usages sont couverts par SSSD. En conséquence, il n’y a plus particulièrement besoin de les ajouter ou supprimer. Il y a également de meilleurs outils pour générer la configuration pour les démons système, qui peuvent vous aider à automatiser le process pour rejoindre un domaine distant tel que « realm ». De plus, les profils embarqués nous donnent une vision de la configuration système compréhensible et déterministe qui peut être complètement testée et moins sujette à l’erreur. Il est également beaucoup plus facile de distribuer ce type de configuration à travers de nombreux systèmes.

Le changement qui est probablement le plus controversé est que seul authselect fourni des profils pour les fournisseurs sssd et winbind. Ces deux fournisseurs couvrent tous les cas d’utilisation modernes de la fourniture d’utilisateurs locaux et au domaine LDAP legacy aux configurations complexes avec des serveurs IPA ou Active Directory. Les profils ne contiennent plus la prise en charge de nss-pam-ldapd et les utilisateurs sont encouragés à basculer vers sssd.

JOINDRE DES DOMAINES DISTANTS

Vous pouvez utiliser ipa-client-install ou realm pour joindre un domaine IPA et realm pour joindre un domaine Active Directory. Ces outil s’assureront que le bon profil authselect est sélectionné et que tous les démons et services sont correctement configurés.

CONVERTIR VOS SCRIPTS

Vous pouvez utiliser ipa-client-install ou realm pour joindre un domaine, vous pouvez simplement retirer tout appel à authconfig dans vos scripts. Si ce n’est pas envisageable, vous devez remplacer chaque appel authconfig avec son équivalent d’appel authselect pour sélectionner un profil correct avec les fonctionnalités désirées. Alors, vous devrez également écrire le fichier de configuration pour les services requis.

Table 1. Relations entre les options authconfig et les profils authselect
Authconfig options | Authselect profile
--enableldap --enableldapauth | sssd
--enablesssd --enablesssdauth | sssd
--enablekrb5 | sssd
--enablewinbind --enablewinbindauth | winbind
--enablenis | none

Table 2. Relations entre les options authconfig et les fonctionnalités de profil authselect
Authconfig options | Authselect profile feature
--enablesmartcard | with-smartcard
--enablefingerprint | with-fingerprint
--enablemkhomedir | with-mkhomedir
--enablefaillock | with-faillock
--enablepamaccess | with-pamaccess
--enablewinbindkrb5 | with-krb5
--enableshadow | none
--passalgo | none

    Note

    Les options d’Authconfig --enableshadow et --passalgo=sha512 ont souvent été utilisées pour s’assurer que les mots de passe sont stockés dans /etc/shadow en utilisant l’algorithme sha512. Les profils authselect utilisent maintenant la méthode de hachage sha512 et elle ne peut pas être modifiée via une option (uniquement en créant un profil personnalisé). Vous pouvez simplement omettre ces options.

Exemples.

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

FICHIERS DE CONFIGURATION

Ce paragraphe contient des snippets pour une configuration minimal de divers services.

  LDAP

Même si LDAP n’est pas directement utilisé via pam_ldap et nss_ldap, il est tout de même utile de configurer ldap.conf pour configurer openldap-libs et indirectement, par extension les outils LDAP tel quel ldapsearch.

/etc/openldap/ldap.conf.

    # Définir la base par défaut dn
    BASE   dc=example,dc=com
    # Définir le serveur LDAP par défaut
    URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

  KERBEROS

Si vous utilisez Kerberos, le realm Kerberos par défaut doit être configuré afin que krb5-libs et donc les outils tels que kinit fonctionnent directement.

/etc/krb5.conf.

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

  SSSD

Authselect encourage les utilisateurs à utiliser SSSD tant que possible. Il y a de nombreuses options de configuration, voir sssd.conf(5). Ceci est une configuration minimale qui crée un domaine LDAP appelé « default ». Le serveur LDAP est découvert automatique via des recherches DNS.

/etc/sssd/sssd.conf.

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

Et ici un snippet de configuration pour le même domaine mais maintenant l’authentification est faite via Kerberos. Le serveur KDC est découvert automatique via des recherches DNS.

/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

Si vous voulez configurer SSSD pour un domaine IPA ou Active Directory, utilisez l’outil realm. Cela réalisera une configuration initiale incluant la création d’un keytab Kerberos et générant une configuration SSSD basique. Vous pourrez alors l’ajuster en modifiant /etc/sssd/sssd.conf.

  WINBIND

Si vous voulez que la machine utilise Winbind, utilisez l’outil realm. Cela réalisera une configuration initiale incluant la création d’un keytab Kerberos et le lancement de adcli pour joindre le domaine. Cela réalise également des changements à smb.conf. Vous pourrez alors l’ajuster en modifiant /etc/samba/smb.conf.

  NIS

Il y a plusieurs lieux nécessitant d’être configuré pour faire fonctionner l’authentification NIS. D’abords, vous devez définir un domaine NIS et en option également un serveur NIS dans /etc/yp.conf.

/etc/yp.conf.

    domain mydomain broadcast
    # ou
    # domain mydomain server myserver

Le domaine NIS doit également être défini dans la configuration réseau du système.

/etc/sysconfig/network.

    NISDOMAIN=mydomain

Maintenant, vous pouvez définir le nom de domaine avec la ligne de commande pour qu’il n’y ait pas besoin de redémarrer le système. De plus, il pourrait être nécessaire d’activer NIS dans selinux.

    $ domainname mydomain
    $ setsebool -P allow_ypbind 1

  QUALITÉ DE MOT DE PASSE

Authselect active le module pam_pwquality pour appliquer les restrictions de qualité des mots de passe. Ce module est uniquement activé pour les utilisateurs locaux. Les utilisateurs distants doivent utiliser la politique de mot de passe appliquée par les serveurs distants respectifs.

Le module pam_pwquality peut être configuré dans /etc/security/pwquality.conf. Lisez pam_pwquality(8) pour voir ses options configurables et par défaut.

DÉMARRAGE DES SERVICES

Selon votre configuration, vous avez besoin de démarrer les services nécessaires manuellement avec 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

    • Si la fonctionnalité mkhomedir est activée

        systemctl enable oddjobd.service ; systemctl start oddjobd.service

OUTILS AUTHCONFIG

Authconfig est fourni avec un outil appelé cacertdir_rehash. Si vous dépendez de cet outil, veuillez basculer vers la commande native openssl : openssl rehash <dossier> qui sert le même but.

VOIR AUSSI

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