SDB:Аутентификация по лицу
Содержание
Ситуация
В вашем ноутбуке есть встроенная камера (и опционально - инфракрасный сканер) и вы хотите использовать аутентификацию по лицу в стиле Windows Hello™ на openSUSE с помощью пакета howdy.
Процедура
Для установки приложений с использованием YaST или Zypper необходимо войти в систему с правами суперпользователя.
Добавление репозиториев RPM-пакетов
YaST
- Откройте Центр управления YaST, затем нажмите Репозитории программного обеспечения.
- Нажмите Добавить и затем Далее.
- Введите имя репозитория "dmafanasyev" и заполните URL-адрес в соответствии с вашей версией openSUSE (замените
[leap_version]
на 15.4 и т.д.).
openSUSE Leap
https://download.opensuse.org/repositories/home:/dmafanasyev/[leap_version]/
openSUSE Tumbleweed
https://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Tumbleweed
Zypper
В соответствии с вашей версией openSUSE выполните следующую команду в терминале:
openSUSE Leap
# sudo zypper addrepo --refresh https://download.opensuse.org/repositories/home:/dmafanasyev/[leap_version]/ dmafanasyev
openSUSE Tumbleweed
# sudo zypper addrepo --refresh https://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Tumbleweed/ dmafanasyev
Установка
YaST
- Перейдите в Центр управления YaST и нажмите Управление программным обеспечением.
- Просмотр > Репозитории > dmafanasyev.
- Выберите пакет howdy.
- Нажмите Принять.
Zypper
Выполните в терминале:
# sudo zypper in howdy
Настройка
Howdy
Войдите в систему с правами суперпользователя и откройте файл /usr/lib64/security/howdy/config.ini
, используя предпочитаемый текстовый редактор (mcedit, nano, vi или другой). Например, для mcedit выполните команду в терминале:
# sudo mcedit /usr/lib64/security/howdy/config.ini
Установите значение параметра device_path
:
device_path = <путь к устройству захвата изображения>
В самом простом случае - это путь к камере (для вашего ноутбука индекс 0 может отличаться):
device_path = /dev/video0
Однако лучше использовать инфракрасный (IR) сканер, т.к. в этом случае аутентификация по лицу будет работать в том числе и в плохих условиях освещения (например, в темной комнате). Попробуйте различные индексы в пути к устройству захвата изображения, чтобы найти подходящее значение. Например, это может быть индекс 2:
device_path = /dev/video2
Вы можете изменить другие настройки в соответствии с комментариями в файле конфигурации. Например, установите:
detection_notice = true
чтобы выводить на экране входа сообщение о попытках поиска лица.
Наконец, добавьте образцы лица, выполнив следующую команду в терминале:
# sudo howdy add
Для повышения точности распознавания добавьте 3-5 образцов лица.
PAM
Теперь необходимо настроить PAM для использования аутентификации по лицу. Каталог /etc/pam.d/
содержит конфигурационные файлы аутентификации для различных системных сервисов. Наиболее интересны здесь:
-
/etc/pam.d/sddm
- конфигурационный файл входа в графический режим пользователя, использую SDDM (т.е. экран входа после старта системы, но до входа в окружение рабочего стола) -
/etc/pam.d/login
- конфигурационный файл входа в терминальный режим -
/usr/etc/pam.d/kde
- конфигурационный файл экрана блокировки KDE (или/etc/pam.d/kscreenlocker
для версии Tumbleweed старее Января 2020)
Войдите в систему с правами суперпользователя, откройте файл настройки для интересующего вас сервиса, используя предпочитаемый текстовый редактор (mcedit, nano, vi или другой), и вставьте в начало файла следующую строчку:
auth sufficient pam_python.so /usr/lib64/security/howdy/pam.py
Известные проблемы
- В некоторых случаях howdy не распознает ваше лицо. Если это произошло на экране блокировки KDE или при входе в терминальный режим, то просто попытайтесь снова. Однако, если для SDDM только одна попытка работает корректно, вто время как вторая и последующие не срабатывают. В качестве обходного решения вы можете зажать клавиши "Ctrl + Alt + Backspace", чтобы перезапустить графический режим, и попробовать войти снова.
- При обновлении системы внесенные изменения в конфигурационные файлы аутентификации, расположенные в
/usr/etc/pam.d
, затираются. Поэтому необходимо после каждого обновления повторно добавлять настройки аутентификации для системных сервисов, чтобы они использовали Howdy (см. раздел PAM).