Сканер отпечатков пальцев (fprintd): различия между версиями

Материал из ALT Linux Wiki
(Добавлены категории)
 
(не показана 1 промежуточная версия этого же участника)
Строка 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 поддерживает сканеры с интерфейсом как USB, так и SPI. Убедитесь, что ваш сканер поддерживается libfprint`ом перед тем, как приступить к конфигурации. Полный список поддерживаемых устройств можете посмотреть [https://fprint.freedesktop.org/supported-devices.html здесь].
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}}
===Установка===
 
Для установки необходимо ввести следующие команды:
=== Установка ===
Установить пакеты {{pkgL|libfprint2}}, {{pkgL|fprintd}} и  {{pkgL|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
=== Добавление отпечатков пальцев ===
<pre>~ » fprintd-enroll --help
Добавление отпечатков пальцев происходит при помощи {{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)
</pre>
</syntaxhighlight>
 
При запуске {{cmd|fprintd-enroll}} без параметров автоматически происходит создание отпечатков для текущего пользователя, для правого указательного пальца.


При запуске без параметров автоматически происходит создание отпечатков для текущего пользователя, для правого указательного пальца
{{Note|Этот этап — самый времязатратный. Лучше всего у меня отработало с левым указательным пальцем, но наверное зависит от сканера. Также, если долго и неуспешно проводить сканирование, может возникнуть ошибка "unknown error". Для её решения нужно перезагрузить компьютер.}}


{{Note|Этот этап - самый времязатратный. Лучше всего у меня отработало с левым указательным пальцем, но наверное зависит от сканера. Также, если долго и неуспешно проводить сканирование может возникнуть ошибка "unknown error". Для её решения нужно перезагрузить компьютер}}
=== Настройка авторизации ===
===Настройка авторизации===
Для настройки авторизации требуется на второе место в начало файла {{path|/etc/pam.d/lightdm}} внести строку:
Для настройки требуются внести строку
<syntaxhighlight lang="ini">auth        sufficient    pam_fprintd.so</syntaxhighlight>
<pre>auth        sufficient    pam_fprintd.so</pre>
на второе место в начало файла /etc/pam.d/lightdm


В данном случае сначала будет проводится запрос пароля, в случае если он не верный, включается проверка по отпечатку пальца. Подробнее про систему 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]].}}
===Ограничение прав пользователей===
 
По-умолчанию пользователь имеет права на неограниченное создание новых записей об отпечатках. Ограничить это можно при помощи средств [[Polkit|polkit]].
=== Ограничение прав пользователей ===
Для этого нужно создать файл /etc/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules и внутри прописать следующее:
 
<pre>
По умолчанию пользователь имеет права на неограниченное создание новых записей об отпечатках. Ограничить это можно при помощи средств [[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
   }
   }
})</pre>
})</syntaxhighlight>
 
Теперь создавать новые записи сможет только root пользователь.


Тогда создавать новые записи сможет только 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_(Русский)

Текущая версия от 17:18, 15 февраля 2023

Введение

В Linux использование сканера отпечатков пальцев используется fprintd и библиотека libfprint.

Linux поддерживает сканеры как с USB, так и с SPI интерфейсом.

Убедитесь, что ваш сканер поддерживается libfprint`ом перед тем, как приступить к конфигурации. Полный список поддерживаемых устройств можете посмотреть здесь.

Конфигурация

Система fprintd не предоставляет графического интерфейса, так что все дальнейшие действия будут проводится из консоли.

Примечание: Испытания проводились на Lenovo ThinkPad E15, сканер 04f3:0c4b


Установка

Установить пакеты 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 без параметров автоматически происходит создание отпечатков для текущего пользователя, для правого указательного пальца.

Примечание: Этот этап — самый времязатратный. Лучше всего у меня отработало с левым указательным пальцем, но наверное зависит от сканера. Также, если долго и неуспешно проводить сканирование, может возникнуть ошибка "unknown error". Для её решения нужно перезагрузить компьютер.


Настройка авторизации

Для настройки авторизации требуется на второе место в начало файла /etc/pam.d/lightdm внести строку:

auth        sufficient    pam_fprintd.so

В данном случае сначала будет проводится запрос пароля, в случае если он не верный, включается проверка по отпечатку пальца. Подробнее про систему pam, можно ознакомится в соответствующей статье на АрчВики.

Примечание: Такой же способ может работать с любыми файлами в /etc/pam.d/. Например, авторизацию по отпечатку пальцев можно настроить для su, sudo, polkit и kde.


Ограничение прав пользователей

По умолчанию пользователь имеет права на неограниченное создание новых записей об отпечатках. Ограничить это можно при помощи средств 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 пользователь.

Ссылки