🧠指纹识别认证
🌐─(root㉿wise)-[~]└─# lsusb | grep -i finger
🌐─(root㉿wise)-[~]└─#lsusb
Bus 003 Device 005: ID 2541:9711 Chipsailing CS9711Fingprint
你的指纹仪设备是
ID 2541:9711 Chipsailing CS9711Fingprint(常出现于 GPD Win Max 2 等掌上掌机或特定外接设备中)。 核心结论:原生的
fprintd 官方固件并不支持这款芯片。 如果你直接运行 fprintd-enroll,系统会提示找不到设备。你必须先通过第三方社区驱动对 libfprint 进行编译替换,然后才能启用指纹认证。请按照以下修正后的专有步骤在 Kali 下进行配置:
🛠️ 第一步:安装编译依赖
由于需要从源码编译社区驱动,需要先安装编译工具链和图像处理库(该指纹仪驱动依赖 OpenCV 进行图像增强):
sudo apt update
sudo apt install -y git build-essential cmake meson ninja-build \
libglib2.0-dev libgusb-dev libnss3-dev libpixman-1-dev \
libgirepository1.0-dev libopencv-dev libpam0g-dev pamtester
📦 第二步:编译安装社区版
libfprint-CS9711- 克隆社区驱动仓库:
git clone https://github.com/ddlsmurf/libfprint-CS9711.git cd libfprint-CS9711 - 使用 Meson 构建并编译:
meson setup builddirdir ninja -C builddirdir - 将编译出的驱动库安装到系统:
sudo ninja -C builddirdir install - 刷新动态链接库缓存,让系统识别新驱动:
sudo ldconfig
👥 第三步:安装及配置
fprintd 服务驱动安装完成后,再安装上层的管理服务:
sudo apt install fprintd libpam-fprintd -y
安装后,重启一下指纹服务以加载新驱动:
sudo systemctl restart fprintd
🖐️ 第四步:录入指纹(退出 root 账户)
极为重要: 你的终端提示符显示你当前处于
root 账户下(root@wise)。请勿在 root 账户下录入指纹,否则普通用户无法在登录时使用。- 切换回你的普通日常用户(假设你的用户名叫
wise,如果不是请替换):su - wise - 以普通用户身份执行录入:
fprintd-enroll注意:Chipsailing 这款芯片的检测机制在 Linux 下需要比较高的匹配度,终端会提示你反复按压手指。请耐心连续按压并抬起 12 ~ 15 次左右,直至显示
enroll-completed成功。
🔐 第五步:接管系统认证 (PAM)
录入成功后,重新切换回 root 或使用
sudo 开启系统开关:sudo pam-auth-update
在弹出的蓝色菜单中,使用空格键勾选
Fingerprint authentication,按 Tab 键 选 <Ok> 保存退出。🛠️ 解决办法:
apt install libudev-dev -y
apt install libgudev-1.0-dev -y
apt install libcairo2-dev -y
apt install doctest-dev -y
apt install gtk-doc-tools -y
- 手动为
doctest生成 pkg-config 引导文件(核心步骤):
直接复制并运行以下整段命令,为系统补齐doctest.pc配置文件:sudo mkdir -p /usr/share/pkgconfig cat << 'EOF' | sudo tee /usr/share/pkgconfig/doctest.pc prefix=/usr includedir=${prefix}/include Name: doctest Description: Header-only C++ test framework Version: 2.4.11 Cflags: -I${includedir}/doctest EOF
- 清理并重新生成配置:
rm -rf builddirdir meson setup builddirdir - 继续编译与安装:
bash
ninja -C builddirdir sudo ninja -C builddirdir install sudo ldconfig sudo systemctl restart fprintd
🎉 下一步:开始录入指纹
一旦上述编译和安装成功(无红字报错),底层不兼容的问题就已经彻底解决。请立刻按以下步骤执行指纹录入:
- 务必退出 root 账户,切换回你的普通用户(假设用户名为
wise):su - wise - 开始录入指纹:
fprintd-enroll🔐 第二步:开启系统指纹认证开关 (PAM)指纹录入成功后,必须允许 Kali 系统在提权和登录时调用它。- 重新切换回 root 账户(或在另一个终端使用
sudo):sudo pam-auth-update - 在弹出的蓝色菜单中,使用键盘的 方向键 移动光标找到
Fingerprint authentication。 - 按 空格键 勾选它(使其前面显示为
[*])。 - 按 Tab 键 切换到下方的
<Ok>,然后回车保存退出。
🚀 第三步:享受免密快感- 测试终端免密提权:
新开一个普通用户终端,随便执行一个需要 root 权限的命令:sudo apt update此时终端不会让你敲键盘输密码,而是直接提示:
Place your finger on the fingerprint reader(请将手指放在指纹仪上)。摸一下指纹仪,即可直接畅行。 - 测试锁屏解锁:
按下快捷键Super + L(或Ctrl + Alt + L)锁定屏幕。在唤醒后的解锁界面,直接刷指纹即可秒进桌面。
💡 终极小贴士:
由于 Linux 安全机制,电脑冷开机/重启后的第一次登录,系统为了解密密钥环,依然会强制你手动输入一次密码。开机进去之后的日常锁屏解锁、sudo提权,就都可以完美使用指纹了! - 重新切换回 root 账户(或在另一个终端使用
共有 0 条评论