安装依赖

Debian默认没有安装指纹依赖包,需要手动安装

1
sudo apt install fprintd libpam-fprintd

fprintd库用于让系统支持指纹传感器
libpam-fprintd库用于配置系统身份认证方式

安装指纹传感器驱动

一般传感器厂商会提供deb包或者使用通用驱动

1
sudo apt install deb驱动包文件路径

添加指纹

设置->用户中,点击用户后会有一栏配置指纹身份认证,点击后即可添加指纹。

添加指纹

当然也可以通过fprintd-enroll命令来添加指纹。

添加身份认证方式

输入下面命令进入pam管理页面

1
sudo pam-auth-update

使用方向键以及空格键勾选Fingerprint authentication,回车完成设置。

修改登陆逻辑(KDE桌面需要)

因为登陆界面认证时会将密码用于解锁系统密码库,指纹认证没有提供密码,导致卡登陆界面(无论指纹或者密码是否正确)。

可能是KDE的SDDM逻辑问题,即使注释掉解锁密码库,在登陆界面指纹验证失败后也会导致卡登陆界面(不会再次调起指纹并且输入正确密码无效),指纹认证成功则不会卡。

整个逻辑就像并没有为多认证方式进行设计,或者根本没有考虑指纹登陆的情况一样(虽然设置界面确实是写了暂不支持使用指纹登陆系统)。

不过系统终端以及锁屏界面均可以通过指纹或密码的方式完成身份验证。

因此这里需要手动取消掉登陆界面的指纹功能来避免卡登陆。

1
sudo nano /etc/pam.d/sddm

找到@include common-auth一行注释掉,该行引用的配置包括了指纹认证的逻辑

因为common-auth被很多pam配置引用,因此我们这里不动它,而是为sddm手动构建一个auth流程。

在被注释的common-auth一行下添加下面内容

1
2
3
auth    [success=1 default=ignore]      pam_unix.so nullok try_first_pass
auth requisite pam_deny.so
auth required pam_permit.so

内容其实就是未开启指纹认证的时候common-auth的文件内容。

这样在开机登陆时使用原先的密码进行登陆,在终端和锁屏界面,或者其他需要身份认证的地方都可以使用指纹和密码进行认证。