AUTHSELECT-MIGRATIO(7)

NAME
authselect-migration - Um guia sobre como migrar do authconfig para o authselect.

DESCRIÇÃO

Este manual explica as diferenças principais entre authconfig, a ferramenta anterior para configurar a autenticação do sistema e fontes de identificação, e o authselect que o substitui. Também explica que ações precisam ser feitas de modo a se migrar do authconfig para o authselect.

DIFERENÇAS PRINCIPAIS

Authselect tem uma abordagem completamente diferente à configuração do sistema daquela da ferramenta anterior authconfig.

Authconfig tenta manter as alterações manuais dos utilizadores nos ficheiros que gera. Ele gera não apenas ficheiros de configuração PAM e nsswitch.conf (para configurar módulos de autenticação e fontes de identidade) mas também gera ficheiros de configuração simples para vários serviços como o LDAP e o Kerberos.

Authselect não faz tais coisas. Não gera nenhuns ficheiros de configuração para além do PAM e nsswitch.conf e proíbe estritamente quaisquer alterações manuais à configuração gerada. Fornece um conjunto de ficheiros chamados perfis. Cada perfil descreve como a configuração resultante deve aparentar e pode ser ligeiramente modificado ao activar e desactivar certas funcionalidades opcionais. Se surgir a necessidade de um perfil diferente daquele que o authselect fornece, o administrador tem a opção de criar um perfil completamente novo e usa-lo com o authselect. Veja authselect-profiles(5) para aprender mais sobre perfis.

Isto pode parecer uma grande desvantagem mas a verdade é o oposto. O Authconfig é uma ferramenta muito antiga e as aplicações que fornece requerem serviços que mudaram rapidamente durante os anos. Tipicamente, não há mais necessidade de ter múltiplos módulos de autenticação no PAM e nsswitch.conf, porque a vasta maioria dos casos de utilização é coberta pelo SSSD. Assim não é preciso adicionar-los ou remove-los especificamente. Existem também melhores ferramentas para gerar configuração para daemons do sistema que podem ajuda-lo a automatizar o processo de se juntar a um domínio remoto como a realm. Adicionalmente, os perfis fornecidos dão-nos uma configuração de sistema compreensiva e determinística que pode ser totalmente testada e é menos sujeita a erros. É também muito mais fácil de distribuir tal configuração por entre muitos sistemas.

Provavelmente a mudança mais controversa é que o authselect apenas fornece perfis para o sssd e provedores do winbind. Estes dois provedores cobrem todos os casos modernos desde fornecer utilizadores locais e domínios LDAP antigos a configurações complexas com servidores IPA ou Active Directory. Os perfis já não contêm suporte para nss-pam-ldapd e os utilizadores são encorajados a mudar para o sssd.

ADERIR A DOMÍNIOS REMOTOS

Você pode usar ou ipa-client-install ou realm para aderir a um domínio IPA e realm para aderir a um domínio Active Directory. Estas ferramentas irão certificar que é selecionado o perfil authselect correto e todos os seus daemons e serviços são configurados de modo apropriado.

CONVERTER OS SEUS SCRIPTS

Se você usar ipa-client-install ou realm para aderir a um domínio, você pode apenas remover qualquer chamada ao authconfig nos seus scripts. Se isto não for opção, você precisa de substituir cada chamada ao authconfig pela chamada authselect equivalente para selecionar o perfil correto com as funcionalidades desejadas. Depois vai também precisar de escrever um ficheiro de configuração para os serviços requeridos.

Table 1. Relação entre as opções do authconfig e os perfis do authselect
--enablenis | none

Table 2. Relação entre as opções do authconfig e as funcionalidades dos perfis do 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

    As opções do Authconfig --enableshadow e --passalgo=sha512 eram muitas vezes usadas para certificar que as palavras passe eram guardadas em /etc/shadow usando o algoritmo sha512. Os perfis do authselect agora usam o método de cinzas yescrypt e isso não pode ser mudado através duma opção (apenas ao se criar um perfil personalizado). Você pode simplesmente omitir estas opções.

Exemplos.

    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

FICHEIROS DE CONFIGURAÇÃO

Esta secção contém trechos para configuração mínima de vários serviços.

  LDAP

Mesmo que o LDAP não seja usado directamente através de pam_ldap e nss_ldap, é mesmo assim útil configurar o ldap.conf para configurar openldap-libs e indiretamente, por exemplo, ferramentas LDAP como a ldapsearch.

"/etc"/openldap/ldap.conf.

    # Define a dn base predefinida
    BASE   dc=example,dc=com
    # Define o servidor LDAP predefinido
    URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

  KERBEROS

Se você usar Kerberos, o reino Kerberos predefinido deve ser configurado em ordem para krb5-libs e para que ferramentas como a kinit funcionem como suposto.

"/etc"/krb5.conf.

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

  SSSD

Authselect encoraja os utilizadores a usarem SSSD sempre que possível. Existem muitas opções de configuração, veja sssd.conf(5). Esta é uma configuração mínima que cria um domínio LDAP chamado default. O servidor LDAP é auto-descoberto através de pesquisas DNS.

"/etc"/sssd/sssd.conf.

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

E aqui está um trecho de configuração para o mesmo domínio mas agora a autenticação é feita sobre Kerberos. O servidor KDC é descoberto automaticamente através de consultas 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

Se você deseja configurar SSSD para um domínio IPA ou Active Directory, use a ferramenta realm. Isto vai executar uma configuração inicial que invoca a criação duma keytab Kerberos e a geração duma configuração SSSD básica. Você pode depois afiná-la ao modificar "/etc"/sssd/sssd.conf.

  WINBIND

Se você deseja configurar a máquina para usar Winbind, use realm. Isto irá executar uma configuração inicial que invoca a criação duma keytab de Kerberos e correr adcli para a juntar ao domínio. Também faz alterações no smb.conf. Você pode depois afinar isto ao modificar o ficheiro "/etc"/samba/smb.conf.

  QUALIDADE DA PALAVRA PASSE

Authselect ativa o módulo pam_pwquality para reforçar as restrições à qualidade das palavras passe. Este módulo é ativado apenas para utilizadores locais. Os utilizadores remotos devem usar a política de palavra passe que é imposta pelo respetivo servidor remoto.

O módulo pam_pwquality pode ser configurado em "/etc"/security/pwquality.conf. Veja pam_pwquality(8) para ver as suas opções de configuração e detalhes.

ARRANCAR SERVIÇOS

Dependendo da sua configuração, você precisa de arrancar manualmente os serviços requeridos com 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

    • Se a funcionalidade mkhomedir estiver activa

        systemctl enable oddjobd.service ; systemctl start oddjobd.service

FERRAMENTAS DO AUTHCONFIG

Authconfig fornecia uma ferramenta chamada cacertdir_rehash. Se você depender desta ferramenta, por favor mude para o comando openssl nativo: openssl rehash <directório> que serve o mesmo objectivo.

VEJA TAMBÉM

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