juffinhalli
@juffinhalli

[РЕШЕНО] Как подружить i3lock и fprint на Thinkpad?

Добрый вечер!

Дано:
ноутбук Thinkpad T420 cо сканером отпечатков пальцев Upek Eikon 2
Развёрнута чистая Ubuntu 14.04 + awesome + i3lock
C помощью dpkg установлены libfprint0, libpam-fprint и fprint-demo из репозитория 12.04 (не хотелось компилять либо тянуть в зависимостях policykit+systemd)
Настройки:
выполнено pam-auth-update и внесены отпечатки с помощью fprint_demo
Результат:
Успешная аутентификация в консолях с помощью сканера либо по паролю. К сожалению, i3lock принимает только пароли
Задача:
Аутентификация в i3lock с помощью сканера отпечатков пальцев

Заранее спасибо за советы

P.S. Полгода назад мне удалось решить эту проблему внеся правки в /etc/pam.d/i3lock. Но, к сожалению, их детальное описание сейчас нагуглить не удалось. [Не обязательно]

Решение:
1) Пользователь должен входить в группу plugdev
2) Директория .fprint в домашнем каталоге пользователя должна быть доступна ему для записи
3) Fprint_demo для внесения отпечатков должен быть запущен от имени самого пользователя
4) Для включения сканера отпечатков пальцев в при запущенном i3lock нужно нажать Enter
5) Логин по паролю станет невозможен, т.к. нажатие enter вместо ayтентификации будет лишь запускать сканер отпечатков пальцев

Решение примечания №5:
1) В файле pam.d/i3lock вместо ссылок на иные файлы рекурсивно выложить их содержимое
2) Поменять местами фрагменты строк:
Было:
auth    [success=2 default=ignore]      pam_fprint.so 
auth    [success=1 default=ignore]      pam_unix.so nullok_secure try_first_pass

Стало:
auth    [success=2 default=ignore]      pam_unix.so nullok_secure try_first_pass
auth    [success=1 default=ignore]      pam_fprint.so


Для ленивых выкладываю содержимое файла /etc/pam.d/i3lock
auth       optional   pam_faildelay.so  delay=3000000
auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so
auth       requisite  pam_nologin.so
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session       required   pam_env.so readenv=1
session       required   pam_env.so readenv=1 envfile=/etc/default/locale
auth    [success=2 default=ignore]      pam_unix.so nullok_secure try_first_pass
auth    [success=1 default=ignore]      pam_fprint.so
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so
auth    optional                        pam_cap.so
auth       optional   pam_group.so
session    required   pam_limits.so
session    optional   pam_lastlog.so
session    optional   pam_motd.so  motd=/run/motd.dynamic noupdate
session    optional   pam_motd.so
session    optional   pam_mail.so standard
@include common-account
@include common-session
@include common-password
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open

P.S. Будьте внимательны, т.к. удаление ссылок в /etc/pam.d/i3lock блокирует применение рекурсивных обновлений безопасности для этого файла

P.P.S. Удалось найти копромиссный вариант: После запуска pam-auth-update правим /etc/pam.d/common-auth согласно примеру:
auth    [success=2 default=ignore]      pam_unix.so nullok_secure try_first_pass
auth    [success=1 default=ignore]      pam_fprint.so

Теперь, чтобы воспользоваться сканером отпечатков пальцев, всегда и везде надо нажать Enter и лишь потом проводить сканирование.
  • Вопрос задан
  • 2917 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы