SDB:Аутентификация по лицу

Перейти к: навигация, поиск


Проверено в openSUSE Рекомендуемые статьи Связанные статьи
Icon-checked.png

Icon-manual.png Icon-help.png
Внимание: Это руководство и пакет применимы только для дистрибутивов с архитектурой x86_64.

Ситуация

В вашем ноутбуке есть встроенная камера (и опционально - инфракрасный сканер) и вы хотите использовать аутентификацию по лицу в стиле Windows Hello™ на openSUSE с помощью пакета howdy.

Процедура

Для установки приложений с использованием YaST или Zypper необходимо войти в систему с правами суперпользователя.

Добавление репозиториев RPM-пакетов

YaST

  1. Откройте Центр управления YaST, затем нажмите Репозитории программного обеспечения.
  2. Нажмите Добавить и затем Далее.
  3. Введите имя репозитория "dmafanasyev" и заполните URL-адрес в соответствии с вашей версией openSUSE.
openSUSE Leap 15.0
http://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Leap_15.0/
openSUSE Leap 15.1
http://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Leap_15.1/
openSUSE Tumbleweed
http://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Tumbleweed

Zypper

В соответствии с вашей версией openSUSE выполните следующую команду в терминале:

openSUSE Leap 15.0
# sudo zypper addrepo --refresh http://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Leap_15.0/ dmafanasyev
           
openSUSE Leap 15.1
# sudo zypper addrepo --refresh http://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Leap_15.1/ dmafanasyev
           
openSUSE Tumbleweed
# sudo zypper addrepo --refresh http://download.opensuse.org/repositories/home:/dmafanasyev/openSUSE_Tumbleweed/ dmafanasyev
           

Установка

YaST

  1. Перейдите в Центр управления YaST и нажмите Управление программным обеспечением.
  2. Просмотр > Репозитории > dmafanasyev.
  3. Выберите пакет howdy.
  4. Нажмите Принять.

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

Если вы планируете использовать камеру, то не меняйте параметр recording_plugin (по умолчанию он равен opencv). Однако для использования IR сканера необходимо установить следующее значение:

recording_plugin = ffmpeg

Пока что это единственный способ корректно захватывать изображения с инфракрасного сканера. В том случае, если оставить recording_plugin равным opencv и использовать IR сканер, возникает ошибка (см., проблему #160 на GitHub):

V4L2: Pixel format of incoming image is unsupported by OpenCV

Вы можете изменить другие настройки в соответствии с комментариями в файле конфигурации. Например, установите:

detection_notice = true

чтобы выводить на экране входа сообщение о попытках поиска лица.

Наконец, добавьте образцы лица, выполнив следующую команду в терминале:

# sudo howdy add

Для повышения точности распознавания добавьте 3-5 образцов лица.

PAM

Теперь необходимо настроить PAM для использования аутентификации по лицу. Каталог /etc/pam.d/ содержит конфигурационные файлы аутентификации для различных системных сервисов. Наиболее интересны здесь:

  • /etc/pam.d/sddm - конфигурационный файл входа в графический режим пользователя, использую SDDM (т.е. экран входа после старта системы, но до входа в окружение рабочего стола)
  • /etc/pam.d/login - конфигурационный файл входа в терминальный режим
  • /etc/pam.d/kscreenlocker - конфигурационный файл экрана блокировки KDE

Войдите в систему с правами суперпользователя, откройте файл настройки для интересующего вас сервиса, используя предпочитаемый текстовый редактор (mcedit, nano, vi или другой), и вставьте в начало файла следующую строчку:

auth     sufficient     pam_python.so /usr/lib64/security/howdy/pam.py

Известные проблемы

В некоторых случаях howdy не распознает ваше лицо. Если это произошло на экране блокировки KDE или при входе в терминальный режим, то просто попытайтесь снова. Однако, если для SDDM только одна попытка работает корректно, вто время как вторая и последующие не срабатывают. В качестве обходного решения вы можете зажать клавиши "Ctrl + Alt + Backspace", чтобы перезапустить графический режим, и попробовать войти снова.

См. также

Внешние ссылки