Вопрос или проблема
Я установил Fedora 39 KDE на свой ноутбук, который оснащен сенсором отпечатков пальцев. Как я могу использовать его для входа в свою рабочую поверхность?
Сначала вам нужно проверить, поддерживается ли ваш считыватель отпечатков пальцев здесь. Для проверки выполните команду lsusb, не беспокойтесь, если его нет в списке. Список поддерживаемых устройств обновляется не регулярно и не является полным. Стоит протестировать ваше устройство с помощью инструкций на этой странице, даже если его нет в списке, затем установите fprintd, также может потребоваться imagemagick. Добавьте pam_fprintd.so как достаточный к началу секции auth в /etc/pam.d/system-local-login
auth sufficient pam_fprintd.so
auth include system-login
Это сначала пытается использовать вход по отпечатку пальца, а если это не удается или если не найдено отпечатков пальцев в домашней директории данного пользователя, продолжается вход с помощью пароля. Вам потребуется запустить агент аутентификации/polkit перед тем, как записать свой отпечаток. Чтобы добавить подпись для отпечатка пальца, выполните: fprintd-enroll
Для проверки вновь созданного отпечатка используйте:
fprintd-verify
По умолчанию каждому пользователю разрешается регистрировать новые отпечатки без необходимости ввода пароля или отпечатка. Вы можете изменить это поведение, используя правила polkit.
Существует два места, которые содержат файлы конфигурации polkit:
/etc/polkit-1/rules.d/
/usr/share/polkit-1/rules.d/
Не изменяйте файлы в /usr/share/polkit-1/rules.d/, так как они будут перезаписаны при обновлении. Сначала скопируйте их в /etc/polkit-1/rules.d/.
В следующем примере только root может регистрировать отпечатки пальцев:
/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
}
})
Чтобы войти через sddm, убедитесь, что ваш отпечаток зарегистрирован, прежде чем вносить эти изменения. Поддержка отпечатков пальцев еще не полностью работает, и, похоже, вход только с паролем больше не работает с использованием этого метода.
Чтобы использовать либо пароль, либо отпечаток пальца, добавьте следующее в начало /etc/pam.d/sddm:
auth [success=1 new_authtok_reqd=1 default=ignore] pam_unix.so try_first_pass likeauth nullok
auth sufficient pam_fprintd.so
Ответ или решение
Для того чтобы настроить вход в систему с помощью отпечатка пальца на Fedora 39 KDE, следуйте приведенным ниже шагам:
-
Проверьте совместимость вашего устройства:
Убедитесь, что ваш сканер отпечатков пальцев поддерживается. Для этого вы можете посетить страницу совместимых устройств. Чтобы проверить наличие вашего устройства, выполните команду:lsusb
Если ваше устройство не отображается в списке, не беспокойтесь: список не обновляется регулярно и может быть неполным.
-
Установите необходимые пакеты:
Установите пакетfprintd
, который обеспечивает поддержку отпечатков пальцев. Возможно, вам также потребуется установитьimagemagick
. Используйте следующую команду:sudo dnf install fprintd fprintd-gtk imagemagick
-
Настройте PAM для использования отпечатков пальцев:
Откройте файл аутентификации PAM для локального входа:sudo nano /etc/pam.d/system-auth
Добавьте следующую строку в верхнюю часть секции
auth
:auth sufficient pam_fprintd.so
Таким образом, система сначала попробует использовать поддержку отпечатков пальцев, и в случае неудачи перейдет к вводу пароля.
-
Запись отпечатка пальца:
Чтобы зарегистрировать свой отпечаток пальца, выполните команду:fprintd-enroll
Вам будет предложено провести пальцем по сканеру несколько раз.
-
Проверка отпечатка пальца:
Для проверки правильно ли был записан отпечаток, выполните команду:fprintd-verify
-
Настройка прав для регистрации отпечатка:
По умолчанию любой пользователь может регистрировать новый отпечаток без запроса пароля. Если вы хотите изменить это поведение, необходимо настроить правила 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; } });
-
Настройка входа через SDDM:
Чтобы включить поддержку входа с помощью отпечатков пальцев в SDDM, откройте файл:sudo nano /etc/pam.d/sddm
Добавьте в начало файл следующие строки:
auth [success=1 new_authtok_reqd=1 default=ignore] pam_unix.so try_first_pass likeauth nullok auth sufficient pam_fprintd.so
-
Перезапустите систему:
После выполнения всех указанных выше шагов, перезагрузите вашу систему для применения изменений.
Теперь вы можете использовать отпечаток пальца для входа в вашу систему на Fedora 39 KDE. Не забудьте, что функционал отпечатков пальцев может быть не полностью стабильным, и, возможно, вам будет необходимо также иметь возможность входа с помощью пароля.
Спасибо за подробную инструкцию! Хочу предложить альтернативный способ, который может оказаться проще. В Fedora 39 KDE можно настроить вход по отпечатку пальца через графический интерфейс. Для этого откройте “Параметры системы”, перейдите в раздел “Пользователи”, выберите свой аккаунт и нажмите на кнопку “Управление отпечатками пальцев”. Следуйте инструкциям для регистрации отпечатка. Это автоматизированный процесс, который избавляет от необходимости вручную редактировать файлы PAM или Polkit. К тому же, этот метод снижает риск ошибок при настройке системы.