Сканер отпечатков пальцев (fprintd): различия между версиями
(Добавлены категории) |
мНет описания правки |
||
Строка 1: | Строка 1: | ||
==Введение== | == Введение == | ||
В Linux использование сканера отпечатков пальцев используется [https://packages.altlinux.org/ru/sisyphus/srpms/fprintd/ fprintd] и библиотека [https://packages.altlinux.org/ru/sisyphus/srpms/libfprint2/ libfprint]. | В Linux использование сканера отпечатков пальцев используется [https://packages.altlinux.org/ru/sisyphus/srpms/fprintd/ fprintd] и библиотека [https://packages.altlinux.org/ru/sisyphus/srpms/libfprint2/ libfprint]. | ||
Linux поддерживает сканеры с | Linux поддерживает сканеры как с USB, так и с SPI интерфейсом. | ||
==Конфигурация== | Убедитесь, что ваш сканер поддерживается libfprint`ом перед тем, как приступить к конфигурации. Полный список поддерживаемых устройств можете посмотреть [https://fprint.freedesktop.org/supported-devices.html здесь]. | ||
== Конфигурация == | |||
Система fprintd не предоставляет графического интерфейса, так что все дальнейшие действия будут проводится из консоли. | Система fprintd не предоставляет графического интерфейса, так что все дальнейшие действия будут проводится из консоли. | ||
{{Note|Испытания проводились на Lenovo ThinkPad E15, сканер 04f3:0c4b}} | {{Note|Испытания проводились на Lenovo ThinkPad E15, сканер 04f3:0c4b}} | ||
===Установка=== | |||
=== Установка === | |||
Установить пакеты {{pkg|libfprint2}}, {{pkg|fprintd}} и {{pkg|pam_fprintd}}: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
apt-get update | # apt-get update | ||
apt-get install libfprint2 fprintd pam_fprintd | # apt-get install libfprint2 fprintd pam_fprintd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | |||
Добавление отпечатков пальцев происходит при помощи fprintd-enroll | === Добавление отпечатков пальцев === | ||
< | Добавление отпечатков пальцев происходит при помощи {{cmd|fprintd-enroll}}: | ||
<syntaxhighlight lang="bash">$ fprintd-enroll --help | |||
Использование: | Использование: | ||
fprintd-enroll [ПАРАМЕТР…] [username] Enroll a fingerprint | fprintd-enroll [ПАРАМЕТР…] [username] Enroll a fingerprint | ||
Строка 22: | Строка 26: | ||
Параметры приложения: | Параметры приложения: | ||
-f, --finger Finger selected to verify (default is automatic) | -f, --finger Finger selected to verify (default is automatic) | ||
</ | </syntaxhighlight> | ||
При запуске {{cmd|fprintd-enroll}} без параметров автоматически происходит создание отпечатков для текущего пользователя, для правого указательного пальца. | |||
{{Note|Этот этап — самый времязатратный. Лучше всего у меня отработало с левым указательным пальцем, но наверное зависит от сканера. Также, если долго и неуспешно проводить сканирование, может возникнуть ошибка "unknown error". Для её решения нужно перезагрузить компьютер.}} | |||
=== Настройка авторизации === | |||
===Настройка авторизации=== | Для настройки авторизации требуется на второе место в начало файла {{path|/etc/pam.d/lightdm}} внести строку: | ||
Для настройки | <syntaxhighlight lang="ini">auth sufficient pam_fprintd.so</syntaxhighlight> | ||
< | |||
В данном случае сначала будет проводится запрос пароля, в случае если он не верный, включается проверка по отпечатку пальца. Подробнее про систему pam, можно ознакомится в соответствующей [https://wiki.archlinux.org/title/PAM_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) статье] на АрчВики. | В данном случае сначала будет проводится запрос пароля, в случае если он не верный, включается проверка по отпечатку пальца. Подробнее про систему pam, можно ознакомится в соответствующей [https://wiki.archlinux.org/title/PAM_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) статье] на АрчВики. | ||
{{Note|Такой же способ может работать с любыми файлами в /etc/pam.d/. Например, авторизацию по отпечатку пальцев можно настроить для su, sudo, polkit и kde}} | {{Note|Такой же способ может работать с любыми файлами в {{path|/etc/pam.d/}}. Например, авторизацию по отпечатку пальцев можно настроить для [[su]], [[sudo]], [[polkit]] и [[KDE|kde]].}} | ||
===Ограничение прав пользователей=== | |||
По | === Ограничение прав пользователей === | ||
Для этого нужно создать файл /etc/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules и внутри прописать следующее: | |||
< | По умолчанию пользователь имеет права на неограниченное создание новых записей об отпечатках. Ограничить это можно при помощи средств [[Polkit|polkit]]. | ||
Для этого нужно создать файл {{path|/etc/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules}} и внутри прописать следующее: | |||
<syntaxhighlight lang="ini"> | |||
polkit.addRule(function (action, subject) { | polkit.addRule(function (action, subject) { | ||
if (action.id == "net.reactivated.fprint.device.enroll") { | if (action.id == "net.reactivated.fprint.device.enroll") { | ||
return subject.user == "root" ? polkit.Result.YES : polkit.Result.NO | return subject.user == "root" ? polkit.Result.YES : polkit.Result.NO | ||
} | } | ||
})</ | })</syntaxhighlight> | ||
Теперь создавать новые записи сможет только root пользователь. | |||
== Ссылки == | |||
==Ссылки== | |||
* https://wiki.archlinux.org/title/fprint | * https://wiki.archlinux.org/title/fprint | ||
* https://wiki.archlinux.org/title/PAM_(Русский) | * https://wiki.archlinux.org/title/PAM_(Русский) |
Версия от 11:11, 15 февраля 2023
Введение
В 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 пользователь.