AUTHSELECT-MIGRATIO(7)

NAME
authselect-migration - настанови щодо міграції з authconfig на authselect.

ОПИС

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

ОСНОВНІ ВІДМІННОСТІ

Authselect використовує повністю інший підхід до налаштовування системи, якщо порівнювати із попереднім засобом налаштовування — authconfig.

Authconfig з усіх сил намагається зберегти внесені вручну користувачем зміни до створених ним файлів. Програма створює не лише файли налаштувань і 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 ви можете скористатися або «ipa-client-install», або «realm», а для долучення до домену Active Directory — «realm». Ці інструменти забезпечують вибір належного профілю authselect, а також належне налаштовування усіх фонових служб та прости служб системи.

ПЕРЕТВОРЕННЯ ВАШИХ СКРИПТІВ

Якщо ви користуєтеся для долучення до домену «ipa-client-install» або «realm», ви можете просто вилучити усі виклики authconfig з ваших скриптів. Якщо зробити це неможливо, вам слід замінити усі виклики authconfig їхніми еквівалентами з викликів authselect для вибору належного профілю із бажаними можливостями. Далі, вам також слід написати файл налаштувань для потрібних вам служб.

Table 1. Зв’язок параметрів authconfig із профілями authselect
Параметри authconfig | Профіль authselect
--enableldap --enableldapauth | sssd
--enablesssd --enablesssdauth | sssd
--enablekrb5 | sssd
--enablewinbind --enablewinbindauth | winbind
--enablenis | nis

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 використано метод хешування sha512, його не можна змінити якимось параметром (лише за допомогою нетипового профілю). Ви можете просто не використовувати ці параметри.

Приклади.

    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.

    # Встановити типову базову назву домену
    BASE   dc=example,dc=com
    # Встановити типовий сервер LDAP
    URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

  KERBEROS

Якщо ви користуєтеся Kerberos, має бути налаштовано типову область Kerberos для того, щоб krb5-libs, а отже і інструменти, зокрема «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». Засіб виконає початкове налаштовування, зокрема створення сховища ключів Kerberos і створення базове налаштовування SSSD. Після цього ви можете скоригувати налаштування за допомогою внесення змін до файла /etc/sssd/sssd.conf.

  WINBIND

Якщо ви хочете налаштувати комп’ютер на використання Winbind, скористайтеся «realm». Програма виконає початкове налаштовування, зокрема створить сховище ключів Kerberos і запустить «adcli» для долучення до домену. Також буде внесено зміни до «smb.conf». Далі, ви можете скоригувати налаштування за допомогою внесення змін до файла /etc/samba/smb.conf.

  NIS

Для уможливлення розпізнавання за допомогою NIS слід виконати налаштовування у декількох місцях. По-перше, вам слід налаштувати домен NIS і, якщо потрібно, також сервер NIS у /etc/yp.conf.

/etc/yp.conf.

    domain mydomain broadcast
    # або
    # domain mydomain server myserver

Також слід налаштувати домен NIS у загальносистемних налаштуваннях мережі.

/etc/sysconfig/network.

    NISDOMAIN=mydomain

Тепер ви можете встановити назву домену за допомогою командного рядка, щоб не перезавантажувати систему. Крім того, ймовірно, слід увімкнути NIS у selinux.

    $ domainname mydomain
    $ setsebool -P allow_ypbind 1

  ЯКІСТЬ ПАРОЛЯ

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 <каталог>, яка слугує тим самим цілям.

ТАКОЖ ПЕРЕГЛЯНЬТЕ

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