Сканер отпечатков пальцев (fprintd)
Введение
В Linux использование сканера отпечатков пальцев используется fprintd и библиотека libfprint.
Linux поддерживает сканеры как с USB, так и с SPI интерфейсом.
Убедитесь, что ваш сканер поддерживается libfprint`ом перед тем, как приступить к конфигурации. Полный список поддерживаемых устройств можете посмотреть здесь.
Конфигурация
Система fprintd не предоставляет графического интерфейса, так что все дальнейшие действия будут проводится из консоли.
Установка
Установить пакеты libfprint2, fprintd и pam_fprintd:
# apt-get update
# apt-get install libfprint2 fprintd pam_fprintd
Добавление отпечатков пальцев
Добавление отпечатков пальцев происходит при помощи fprintd-enroll:
$ fprintd-enroll --help
Использование:
fprintd-enroll [ПАРАМЕТР…] [username] Enroll a fingerprint
Параметры приложения:
-f, --finger Finger selected to verify (default is automatic)
При запуске fprintd-enroll без параметров автоматически происходит создание отпечатков для текущего пользователя, для правого указательного пальца.
Настройка авторизации
Для настройки авторизации требуется на второе место в начало файла /etc/pam.d/lightdm внести строку:
auth sufficient pam_fprintd.so
В данном случае сначала будет проводится запрос пароля, в случае если он не верный, включается проверка по отпечатку пальца. Подробнее про систему pam, можно ознакомится в соответствующей статье на АрчВики.
Ограничение прав пользователей
По умолчанию пользователь имеет права на неограниченное создание новых записей об отпечатках. Ограничить это можно при помощи средств polkit. Для этого нужно создать файл /etc/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules и внутри прописать следующее:
polkit.addRule(function (action, subject) {
if (action.id == "net.reactivated.fprint.device.enroll") {
return subject.user == "root" ? polkit.Result.YES : polkit.Result.NO
}
})
Теперь создавать новые записи сможет только root пользователь.