2.4.8.4 Настройка системной аутентификации с помощью authselect
Выбор профиля и его возможностей
Создание резервных копий конфигурации и управление ими
Создание собственного профиля
Редактирование созданного профиля
Удаление созданного профиля
Окружение
- Версия ОС: 7.3
- Конфигурация ОС: Рабочая станция
- Архитектура: x86_64
- Версия ПО: authselect-1.5.0-3
authselect — это утилита, которая позволяет вам настроить системную идентификацию и источники аутентификации путём выбора определённого профиля. Профиль — это набор файлов-шаблонов, который описывает, как будет выглядеть результирующая конфигурация подключаемых модулей аутентификации (PAM), служб сетевой безопасности (NSS) и параметров базы данных dconf.
Каталоги хранения профилей:
/usr/share/authselect/default — каталог только для чтения, содержащий профили, поставляемые вместе с authselect (профили по умолчанию);
/usr/share/authselect/vendor — каталог только для чтения, содержащий профили поставщиков, которые имеют приоритет над профилями по умолчанию при выполнении команд authselect;
/etc/authselect/custom — каталог для профилей, определяемых администратором (пользовательских профилей).
Выбор профиля и его возможностей
Получение списка всех существующих профилей authselect (предустановленные поставляются в пакете authselect-libs):
authselect list
Вывод текущего выбранного профиля и его включённых возможностей (полезно сохранить перед переключением на собственный профиль):
authselect current
Ниже следующие примеры будут относиться к профилю sssd.
Просмотр подробного описания профиля и его возможностей:
authselect show sssd
Применение выбранного профиля:
sudo authselect select sssd
Применение пользовательского (custom) профиля sssd:
sudo authselect select custom/sssd
В случаях ручного или стороннего внесения изменений в конфигурационные файлы, управляемые authselect, может возникнуть ошибка, препятствующая применению профиля. Тогда следует добавить ключи -f и -b к приведённой выше команде. В результате выполнения выбранный профиль будет применён принудительно с предварительным созданием копии текущих конфигурационных файлов.
Получение краткого списка возможностей профиля:
authselect list-features sssd
Включение и отключение возможности with-mdns4 для текущего выбранного профиля:
sudo authselect enable-feature with-mdns4
sudo authselect disable-feature with-mdns4
Применение профиля с непосредственным указанием необходимых возможностей:
sudo authselect select sssd with-mdns4 with-mkhomedir
Создание резервных копий конфигурации и управление ими
Команды authselect, способные привести к изменению конфигурационных файлов системы (select, apply-changes, enable-feature, disable-feature), могут быть дополнены ключом -b, предназначенным для создания копии конфигурационных файлов системы в их текущем состоянии. Созданные копии помещаются в каталог /var/lib/authselect/backups/.
Примеры команд с созданием резервных копий:
sudo authselect enable-feature with-mkhomedir -b
sudo authselect disable-feature with-mkhomedir --backup=ИМЯ_РЕЗЕРВНОЙ_КОПИИ
Просмотр имеющихся резервных копий:
authselect backup-list
Восстановление резервной копии (например, с именем 2024-04-08-17-00-50.pofK0L):
sudo authselect backup-restore 2024-04-08-17-00-50.pofK0L
Удаление резервной копии:
sudo authselect backup-remove 2024-04-08-17-00-50.pofK0L
Создание собственного профиля
В некоторых случаях профили authselect и их настраиваемые возможности не позволяют получить необходимое содержимое конфигурационных файлов. Для реализации таких нестандартных изменений существует возможность создания собственных профилей с последующим их редактированием.
Внесение изменений в предустановленные профили будет некорректным решением! Обновление системы может привести к перезаписи данных изменений и сбросу конфигурационных файлов системы в стандартное состояние в соответствии с текущим профилем.
Создание нового пользовательского профиля с ID ИМЯ_ПРОФИЛЯ на базе профиля sssd:
sudo authselect create-profile ИМЯ_ПРОФИЛЯ --base-on=sssd
В результате будет создан каталог /etc/authselect/custom/ИМЯ_ПРОФИЛЯ/ с копией содержимого профиля sssd. Пример с выводом результата создания:
sudo authselect create-profile ИМЯ_ПРОФИЛЯ --base-on=sssdНовый профиль создан в /etc/authselect/custom/ИМЯ_ПРОФИЛЯls /etc/authselect/custom/ИМЯ_ПРОФИЛЯdconf-db fingerprint-auth password-auth README smartcard-auth
dconf-locks nsswitch.conf postlogin REQUIREMENTS system-auth
После успешного выполнения команды можно установить новый профиль в качестве текущего:
sudo authselect select custom/ИМЯ_ПРОФИЛЯ
Создание нового профиля на базе существующего иногда связано с необходимостью корректировки не всех, но лишь некоторых конфигурационных файлов профиля. Для этих целей можно применить опции, начинающиеся на --symlink: --symlink-meta, --symlink-nsswitch, --symlink-pam, --symlink-dconf, --symlink=FILE. Более подробная информация по каждой из опций доступна при вызове:
man authselect
При указании ключа -v (--vendor) с командой create-profile будет создан профиль поставщика. Его основное отличие - возможность получения приоритета над поставляемыми профилями при обращении по ID.
Редактирование созданного профиля
Профили содержат в своём составе файл описания README и файлы-шаблоны. На основании последних формируются конфигурационные файлы системы при применении профиля. Используя операторы в шаблонах, можно настроить различное содержимое формируемых файлов в зависимости от выбранных возможностей. Формат шаблона и операторы достаточно подробно описаны в документации authselect:
man authselect-profiles
Для примера рассмотрим простое изменение ранее созданного профиля пользователя с именем sssd_domain, который был установлен в качестве текущего (профиль создаётся и применяется при вводе в домен AD с использованием sssd утилитой join-to-domain). Добавим параметр winbind в каждую строку следующих карт nsswitch: group, passwd, shadow. Для этого откроем на редактирование файл-шаблон из каталога профиля:
sudo nano /etc/authselect/custom/sssd_domain/nsswitch.conf
Внесём изменения, получив следующий результат (показаны только изменяемые строки):
...
passwd: {if "with-tlog":sss }files {if "with-altfiles":altfiles }{if not "with-tlog":sss }systemd winbind
shadow: files sss winbind
group: {if "with-tlog":sss }files {if "with-altfiles":altfiles }{if not "with-tlog":sss }systemd winbind
...
После этого применим изменения из текущего профиля:
sudo authselect apply-changes
Теперь откроем файл /etc/nsswitch.conf:
sudo nano /etc/nsswitch.conf
Убедимся, что изменения отразились на его содержимом (показаны только затронутые изменением строки):
...
passwd: files sss systemd winbind
shadow: files sss winbind
group: files sss systemd winbind
...
Удаление созданного профиля
Профили занимают очень незначительное место на диске, поэтому их удаление может быть полезно лишь для уменьшения выводимого списка или повторного создания профиля вместо уже существующего.
Для удаления ранее созданного профиля достаточно удалить его каталог, предварительно применив другой профиль.
Например, для пользовательского профиля custom/my-profile это можно сделать следующим образом:
sudo authselect select sssd with-faillock with-fingerprint with-smartcard with-mkhomedir cd /etc/authselect/custom/ sudo rm my-profile/ -rf
Будьте внимательны при указании пути и имени удаляемого профиля.
Дата последнего изменения: 07.03.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.