Scroll to navigation

AUTHSELECT-MIGRATIO(7)   AUTHSELECT-MIGRATIO(7)

NAME

authselect-migration - Een gids voor het migreren van authconfig naar authselect.

BESCHRIJVING

Deze handboekpagina legt de belangrijkste verschillen uit tussen authconfig, het vorige gereedschap voor het configureren van systeem authenticatie en identiteit en identiteit bronnen, en authselect welke deze vervangt. Het legt ook uit welke acties genomen moeten worden voor het migreren van authconfig naar authselect.

BELANGRIJKSTE VERSCHILLEN

Authselect heeft een totaal verschillende aanpak voor systeemconfiguratie dan het vorige gereedschap authconfig.

Authconfig doet zijn best om de handmatige veranderingen van de gebruiker te behouden in de bestanden die het aanmaakt. Het maakt niet alleen PAM configuratiebestanden en nsswitch.conf aan (voor het instellen van authenticatiemodules en identiteit bronnen) maar het genereert ook eenvoudige configuratiebestanden voor verschillende services zoals LDAP en Kerberos.

Authselect doet dat niet. Het maakt naast PAM en nsswitch.conf geen andere configuratiebestanden aan en het verbiedt strikt alle handmatige veranderingen in de gegenereerde configuratie. Het biedt een set bestanden die profielen genoemd worden. Elk profiel beschrijft hoe de resulterende configuratie er uit moet zien en het kam enigszins aangepast worden met het aan of uitzetten van bepaald optionele features. Als er een behoeft ontstaat voor een ander profiel dan de door authselect meegeleverde, dan heeft de beheerder een optie voor het aanmaken van een geheel nieuw profiel en dat met authselect te gebruiken. Zie authselect-profiles(5) meer te weten te komen over profielen.

Dit lijkt misschien een groot nadeel, maar de waarheid is tegenovergesteld. Authconfig is een heel oud gereedschap en de toepassingen die vereiste services aanbieden zijn door de jaren heen snel veranderd. Het is bijvoorbeeld niet meer nodig om meerdere authenticatie modules te hebben in PAM en nsswitch.conf, omdat de overgrote meerderheid van use-cases afgedekt wordt door SSSD. Het is daarom niet meer nodig ze specifiek toe te voegen of te verwijderen. Er zijn ook betere gereedschappen voor het genereren van configuratie voor systeem daemons die je kunnen helpen met het automatiseren van het proces voor toetreden naar een domein op afstand zoals realm. Bovendien bieden de meegeleverde profielen ons uitgebreide en deterministische systeemconfiguratie die volledig getest kan zijn en veel minder foutgevoelig is. Het kan ook veel eenvoudiger om zulke configuratie te distribueren over vele systemen.

De meest controversiële verandering is waarschijnlijk dat authselect alleen profielen mee levert voor sssd en winbind aanbieders. Deze twee aanbieders omvatten alle use cases van het aanbieden van lokale gebruikers en legacy LDAP domein tot complexe configuraties met IPA of Active Directory servers. Deze profielen bevatten geen ondersteuning meer voor nss-pam-ldapd en gebruikers worden aangemoedigd om over te gaan naar sssd.

VERBINDEN MET DOMEINEN OP AFSTAND

Je kunt ipa-client-install of realm gebruiken om te verbinden met een IPA domein en realm om te verbinden met een Active Directory domein. Deze gereedschappen zorgen ervoor dat het correcte authselect profiel geselecteerd wordt en dat alle daemons en services juist geconfigureerd worden.

JE SCRIPTS CONVERTEREN

Je kun ipa-client-install of realm gebruiken om te verbinden met een domein, je kunt gewoon alle authconfig aanroepen in je scripts verwijderen. Als dit geen optie is, moet je elke authconfig aanroep vervangen met de equivalente authselect aanroep om een correct profiel met de gewenste features te selecteren. Dan moet je ook configuratie schrijven voor de vereiste services.

Table 1. Relatie van authconfig opties met authselect profielen

Authconfig options Authselect profile
--enableldap --enableldapauth sssd
--enablesssd --enablesssdauth sssd
--enablekrb5 sssd
--enablewinbind --enablewinbindauth winbind
--enablenis nis

Table 2. Relatie van authconfig opties met authselect profiel features

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 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 sha512 hashing method and it cannot be changed through an option (only by creating a custom profile). You can just omit these options.

Voorbeelden.

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

CONFIGURATIEBESTANDEN

Deze sectie bevat fragmenten voor minimale configuratie van verschillende services.

LDAP

Zelfs als LDAP niet rechtstreeks gebruikt wordt door pam_ldap en nss_ldap, dan is het nog steeds nuttig om ldap.conf te configureren voor het indirect configureren van openldap-libs, bijv. LDAP gereedschapen zoals ldapsearch.

/etc/openldap/ldap.conf.

# Instellen van de standaard basis dn
BASE   dc=example,dc=com
# Instellen van de standaard LDAP server
URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

KERBEROS

Als je Kerberos gebruikt, moet de standaard Kerberos realm geconfigureerd worden om krb5-libs en daarom ook gereedschappen zoals kinit zonder meer te laten werken.

/etc/krb5.conf.

[libdefaults]

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

SSSD

Authselect moedigt gebruikers aan om wanneer mogelijk SSSD te gebruiken. Er zijn veel configuratie opties, zie sssd.conf(5). Dit is een minimale configuratie die een LDAP domein met de naam default aanmaakt. De LDAP server wordt automatisch gevonden met DNS opzoeken.

/etc/sssd/sssd.conf.

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

En hier volgt een configuratie fragment voor hetzelfde domein maar nu wordt de authenticatie uitgevoerd door Kerberos. De KDC server wordt automatisch gevonden met DNS opzoeken.

/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

Als je SSSD wilt configureren voor een IPA of Active Directory domein, dan gebruik je het realm gereedschap. Deze zal een initiële instelling uitvoeren wat het aanmaken van een Kerberos keytab en aanmaken van basis SSSD configuratie met zich meebrengt. Je kunt het daarna bijstellen door het veranderen van /etc/sssd/sssd.conf.

WINBIND

Als je de machine wilt configureren om Winbind te gebruiken, dan gebruik je realm. Deze zal een initiële instelling uitvoeren wat het aanmaken van een Kerberos keytab en het uitvoeren van adcli om toe te treden tot het domein met zich meebrengt. Het brengt ook veraderingen aan in smb.conf. Je kunt dit daarna bijstellen met het veranderen van /etc/samba/smb.conf.

NIS

Er zijn meerdere plaatsen die geconfigureerd moeten worden om NIS authenticatie te laten werken. Eerst moet je een NIS domein en optioneel ook een NIS server instellen in /etc/yp.conf.

/etc/yp.conf.

domain mydomain broadcast
# of
# domain mydomain server myserver

NIS domein moet ook ingesteld worden in de systeemnetwerkconfiguratie.

/etc/sysconfig/network.

NISDOMAIN=mydomain

Nu kun je de domeinnaam instellen op de commandoregel dus is het niet nodig om je steem opnieuw op te starten. Daarnaast kan het nodig zijn om NIS in selinux aan te zetten.

$ domainname mydomain
$ setsebool -P allow_ypbind 1

WACHTWOORDKWALITEIT

Authselect zet de pam_pwquality module aan om wachtwoord kwaliteitsrestricties te forceren. Deze module wordt alleen voor lokale gebruikers aangezet. Gebruikers op afstand moeten de wachtwoordbeleid gebruiken dat geldt op de respectivele server op afstand.

De pam_pwquality module kan geconfigureerd worden in /etc/security/pwquality.conf. Zie pam_pwquality(8) voor de configuratie opties en standaarden.

SERVICES OPSTARTEN

Afhankelijk van je configuratie, moet je vereiste services handmatig starten met 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

•Als de mkhomedir feature aangezet is

systemctl enable oddjobd.service ; systemctl start oddjobd.service

AUTHCONFIG GEREEDSCHAPPEN

Authconfig levert een gereedschap met de naam cacertdir_rehash. Als je afhankelijk bent van dit gereedschap, schakel dan om naar het native openssl commando: openssl rehash <directory> wat hetzelfde doel dient.

ZIE OOK

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

2021-06-05