AUTHSELECT-MIGRATIO(7)

NAME
authselect-migration - руководство по переходу с authconfig на authselect.

ОПИСАНИЕ

На этой странице руководства объясняется разница между authconfig, предыдущим инструментом настройки источников аутентификации и идентификации системы, и authselect, который замещает его. Здесь также объясняется, какие действия необходимы для перехода от authconfig к authselect.

ОСНОВНЫЕ РАЗЛИЧИЯ

У authselect совершенно другой подход к настройке системы, чем у предыдущего инструмента, у authconfig.

Authconfig изо всех сил старается сохранять изменения пользователя, сделанные вручную, в создаваемых файлах. Он создает не только файлы конфигурации PAM и nsswitch.conf (для настройки модулей аутентификации и источников идентичности), но и простые файлы настроек для некоторых служб, например, LDAP и Kerberos.

Authselect не делает такого. Он не создает файлов настроек, за исключением PAM и nsswitch.conf, и он строго запрещает любые изменения созданных настроек вручную. Он предоставляет набор файлов, называемых профилями. В каждом профиле описывается, как должна выглядеть итоговая конфигурация, и он может быть слегка изменен включением или выключением определенных дополнительных функций. Если возникает необходимость в другом профиле, отличном от того, что поставляется с authselect, администратор может создать совсем новый профиль и использовать его с authselect. См. authselect-profiles(5) для получения дополнительных сведений.

Это может показаться большим недостатком, но на самом деле все наоборот. Authconfig - очень старый инструмент, а приложения, предоставляющие необходимые возможности, быстро менялись с годами. Как правило, больше нет необходмости иметь несколько модулей аутентификации в PAM и nsswitch.conf, поскольку подавляющее большинство сценариев использования покрывается SSSD. Следовательно, нет необходимости специально добавлять или удалять их. Существуют также более совершенные инструменты создания конфигурации для системных служб, которые могут помочь автоматизировать процесс присоединения к удаленному домену, например, «realm». Кроме того, поставляемые профили дают нам исчерпывающую и детерминированную конфигурацию системы, которая может быть полностью протестирована и гораздо менее подвержена ошибкам. Также намного проще распределять такую конфигурацию по многим системам.

Вероятно, самым спорным изменением является то, что authselect предоставляет профили только для поставщиков sssd и winbind. Эти два поставщика охватывают все современные варианты использования, от обеспечения локальных пользователей и устаревших доменов LDAP до сложных конфигураций с серверами IPA или Active Directory. Профили больше не поддерживают nss-pam-ldapd, и пользователям рекомендуется перейти на sssd.

ПРИСОЕДИНЕНИЕ К УДАЛЕННЫМ ДОМЕНАМ

Можно воспользоваться «ipa-client-install» или «realm», чтобы присоединиться к домену IPA domain, и «realm», чтобы присоединиться к домену Active Directory. Эти инструменты гарантируют, что выбран правильный профиль authselect, и все демоны и службы правильно настроены.

ПРЕОБРАЗОВАНИЕ СКРИПТОВ

Если для присоединения к домену используется «ipa-client-install» или «realm», можно просто удалить любой вызов authconfig в своих скриптах. Если это не подходит, необходимо заменить каждый вызов authconfig на его эквивалентный вызов authselect, чтобы выбрать правильный профиль с нужными функциями. Затем вам также необходимо написать файл конфигурации для необходимых сервисов.

Table 1. Связь параметров authconfig с профилями authselect
--enablenis | none

Table 2. Связь параметров authconfig с функциями профиля 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

    Параметры Authconfig --enableshadow и`--passalgo=sha512` часто использовались, чтобы гарантировать хранение паролей в / etc / shadow с использованием алгоритма`sha512`. Профили authselect теперь используют метод хеширования yescrypt, и его нельзя изменить с помощью параметра (только путем создания пользовательского профиля). Вы можете просто опустить эти параметры.

Примеры.

    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

КОНФИГУРАЦИОННЫЕ ФАЙЛЫ

В этом разделе собраны фрагменты для минимальной настройки различных сервисов.

  LDAP

Даже если LDAP не используется напрямую через «pam_ldap» и «nss_ldap», все равно полезно настроить ldap.conf, чтобы настроить openldap-libs и, косвенно, например, инструменты LDAP, такие, как «ldapsearch».

"/etc"/openldap/ldap.conf.

    # Установить стандартный базовый dn
    BASE   dc=example,dc=com
    # Установить стандартный сервер LDAP
    URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

  KERBEROS

Если вы используете Kerberos, необходимо настроить область Kerberos по умолчанию, чтобы библиотеки krb5 и, следовательно, такие инструменты, как «kinit», работали без дополнительной настройки.

"/etc"/krb5.conf.

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

  SSSD

Authselect рекомендует пользователям использовать SSSD везде, где можно. Есть много вариантов конфигурации, см. sssd.conf (5). Это минимальная конфигурация, которая создает один домен LDAP с именем «default». Сервер LDAP обнаруживается автоматически при поиске в DNS.

"/etc"/sssd/sssd.conf.

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

А вот фрагмент конфигурации для того же домена, но теперь аутентификация выполняется через Kerberos. Сервер KDC автоматически обнаруживается при поиске в 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

Если вы хотите настроить SSSD для домена IPA или Active Directory, используйте инструмент «realm». Это выполнит начальную настройку, которая включает в себя создание keytab-файла Kerberos и генерацию базовой конфигурации SSSD. Затем вы можете настроить его, изменив "/etc" /sssd/sssd.conf.

  WINBIND

Если вы хотите настроить компьютер для использования Winbind, используйте «realm». Это выполнит начальную настройку, которая включает в себя создание keytab-файла Kerberos и запуск «adcli» для присоединения к домену. Это также вносит изменения в «smb.conf». Затем вы можете настроить его, редактируя "/etc"/samba/smb.conf.

  КАЧЕСТВО ПАРОЛЯ

Authselect включает модуль «pam_pwquality» для применения требования к качеству пароля. Этот модуль активируется только для локальных пользователей. Удаленные пользователи должны использовать политику паролей, которая применяется на соответствующем удаленном сервере.

Модуль «pam_pwquality» можно настроить в "/etc"/security/pwquality.conf. Его параметры конфигурации и значения по умолчанию см. pam_pwquality(8).

ЗАПУСК СЛУЖБ

В зависимости от конфигурации вашей системы необходимо запускать необходимые службы вручную с помощью 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

    • Если функция mkhomedir включена,

        systemctl enable oddjobd.service ; systemctl start oddjobd.service

ИНСТРУМЕНТЫ AUTHCONFIG

Authconfig поставляется с инструментом под названием cacertdir_rehash. Если вы полагаетесь на этот инструмент, перейдите на исходную команду openssl: * openssl rehash <directory> *, которая служит той же цели.

СМОТРИТЕ ТАКЖЕ

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