AUTHSELECT-MIGRATIO(7)

NAME
authselect-migration - En guide till hur man migrerar från authconfig till authselect.

BESKRIVNING

Denna manualsida förklarar huvudskillnaderna mellan authconfig, det tidigare verktyget för att konfigurera systemautenticering och identitetskällor, och authselect som ersätter det. Den förklarar även vilka åtgärder som behöver göras för att migrera från authconfig till authselect.

HUVUDSAKLIGA SKILLNADER

Authselect har ett helt annat angreppssätt till systemkonfiguration än det tidigare verktyget authconfig.

Authconfig gör sitt bästa för att behålla användarens manuella ändringar av filer det genererar. Det genererar inte endast PAM-konfigurationsfiler och nsswitch.conf (för att sätta upp autentiseringsmoduler och identitetskällor) utan genererar även enkla konfigurationsfiler för flera tjänster såsom LDAP och Kerberos.

Authselect gör inget sådant. Det genererar inte några konfigurationsfiler vid sidan av PAM och nsswitch.conf och förhindrar strikt eventuella manuella ändringar av den genererade konfigurationen. Det tillhandahåller ett antal filer som kallas profiler. Varje profil beskriver hur den resulterande konfigurationen skall se ut och smärre ändringar av den kan göras genom att aktivera eller avaktivera vissa valfria funktioner. Om behovet uppstår av en annan profil än vad suthselect kommer med, administratören ha möjligheten att skapa en helt ny profil och använda den tillsammans med authselect. Se authselect-profiles(5) för att få reda på mer om profiler.

Detta kan förefalla att vara en stor nackdel, men i verkligheten är det motsatsen. Authconfig är ett väldigt gammalt verktyg och program som erbjuder nödvändiga tjänster har ändrats snabbt under åren. Typiskt finns det inte längre ett behov av att ha flera autentiseringsmoduler i PAM och nsswitch.conf, eftersom den övervägande majoriteten av användningsfall täcks av SSSD. Därför finns det inget behov av att lägga till eller ta bort dem specifikt. Det finns även bättre verktyg för att generera konfiguration för systemdemoner som kan hjälpa till att automatisera processen att gå med i en fjärrdomän såsom ”rike”. Dessutom ger de levererade profilerna en omfattande och deterministisk systemkonfiguration som kan testas fullständigt och är mycket mindre felbenäget. Det är också mycket enklare att distribuera sådan konfiguration över många system.

Den förmodligen mest kontroversiella ändringen är att authselect bara levererar profiler för leverantörerna sssd och winbind. Dessa två leverantörer täcker alla moderna användningsfall från att ha lokala användare och gamla LDAP-domäner till komplexa konfigurationer med servrar för IPA eller Active Directory. Profilerna innehåller inte längre stöd för nss-pam-ldapd och användare uppmuntras att byta till sssd.

GÅ MED I FJÄRRDOMÄNER

Man kan använda antingen ”ipa-client-install” eller ”realm” för att gå med i en IPA-domän och ”realm” för att gå med i en Activer Directory-domän. Dessa verktyg kommer se till att rätt authselect-profil väljs och att alla demoner och tjänster konfigureras riktigt.

KONVERTERING AV ENS SKRIPT

Om man använder ”ipa-client-install” eller ”realm” för att gå med i en domän kan man helt enkelt ta bort anrop av authconfig i dina skript. Om detta inte är ett alternativ måste man ersätta varje anrop av authconfig med dess ekvivalenta anrop av authselect för att välja rätt profil med önskade funktioner. Sedan måste man även skriva konfigurationsfiler för begärda tjänster.

Table 1. Relationen mellan authconfig-flaggor och authselect-profiler
--enablenis | ingen

Table 2. Relationen mellan authconfig-flaggor och authselects profilfunktioner
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

    Authconfig-flaggorna ”--enableshadow” och ”--passalgo=sha512” användes ofta för att säkerställa att lösenord lagras i ”/etc/shadow” med algoritmen ”sha512”. Authselect-profilerna använder nu hashningsmetoden yescrypt och det kan inte ändras genom någon flagga (endast genom att skapa en anpassad profil). Du kan helt enkelt utelämna dessa flaggor.

Exempel.

    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 WINBIND-DOMÄN

KONFIGURATIONSFILER

Detta avsnitt innehåller kodsnuttar för minimal konfiguration av diverse tjänster.

  LDAP

Även om LDAP inte används direkt via ”pam_ldap” och ”nss_ldap” är det ändå användbart att konfigurera ldap.conf för att konfigurera openldap-libs och indirekt, t.ex. LDAP-verktyg såsom ”ldapsearch”.

"/etc"/openldap/ldap.conf.

    # Ange standard-basdomän
    BASE   dc=example,dc=com
    # Ange standard-LDAP-server
    URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

  KERBEROS

Om du använder Kerberos skall Kerberos standardrike konfigureras för att krb5-libs och därmed verktyg såsom ”kinit” skall fungera från utgångsläget.

"/etc"/krb5.conf.

    [libdefaults]
     default_realm = MITTRIKE
    [realms]
     MITTRIKE = {
      kdc = kdc.mittrike.se
     }
    [domain_realm]
     myrealm.org = MITTRIKE
     .myrealm.org = MITTRIKE

  SSSD

Authselect uppmuntrar användare att använda SSSD närhelst det är möjligt. Det finns många konfigurationsalternativ, se sssd.conf(5). Detta är en minimal konfiguration som skapar en LDAP-domän som kallas ”default”. LDAP-servern upptäcks automatiskt via DNS-upplsagningar.

"/etc"/sssd/sssd.conf.

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

Och här är konfigurationssnutten för samma domän men nu görs autentiseringen över Kerberos. KDC-servern upptäcks automatiskt via DNS-uppslagningar.

"/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 = MITTRIKE
    dns_discovery_domain = mittrike

Om man vill konfigurera SSSD för en IPA- eller Active Directory-domän, använd verktyget ”realm”. Detta kommer utföra den första uppsättningen som omfattar inkluderar att skapa en Kerberos-keytab och att generera grundläggande SSSD-konfiguration. Man kan sedan trimma den genom att ändra "/etc"/sssd/sssd.conf.

  WINBIND

Om man vill konfigurera maskinen för att använda Winbind, använd ”realm”. Detta kommer utföra den första uppsättningen som inkluderar att skapa en Kerberos-keytab och kör ”addcli” för att gå med i domänen. Det gör även ändringar till ”smb.conf”. Man kan sedan trimma den genom att ändra "/etc"/samba/smb.conf.

  LÖSENORDSKVALITET

Authselect aktiverar modulen ”pam_pwquality” för att framtvinga begränsningar för lösenordskvalitet. Fjärranvändare skall använda lösenordspolicyn som påtvingas av respektive fjärrserver.

Modulen ”pam_pwquality” kan konfigureras i "/etc"/security/pwquality.conf. Se pam_pwquality(8) för att se dess konfigurationsalternativ och standardvärden.

STARTA TJÄNSTER

Beroende på konfigurationen behöver man starta nödvändiga tjänster manuellt med 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

    • Om funktionen mkhomedir är aktiverad

        systemctl enable oddjobd.service ; systemctl start oddjobd.service

AUTHCONFIG-VERKTYG

Authconfig kommer med ett verktyg som kallas cacertdir_rehash. Om man beror på detta verktyg, byter man till det vanliga kommandot openssl: ”openssl rehash <katalog>” som fyller samma syfte.

SE ÄVEN

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