在 Linux 上使用 PAM 设置内置指纹读取器身份验证
本简短教程的目的是帮助您在 Linux 系统上设置和配置内置指纹识别器登录身份验证。我在 HP Envy 15 上运行的 My Arch Linux 64 位版本上对此进行了测试。
之前我谈到过
在 Arch Linux 上安装 Nvidia 3D 图形加速驱动程序的最简单方法
您需要从源代码安装几个软件包才能使指纹读取器正常工作。我不能保证这适用于您的机器,因为我仅在 HP 上使用过它;试试吧。
本文还将介绍如何使用常规密码作为备份登录方式,我们不会使用指纹扫描仪作为主要登录方式。
先决条件
- 你必须安装gcc
- git
- 指纹扫描仪
装置
安装以下所有软件包。如果您运行的是 Arch Linux,则可以安装 fprintd 和 imagemagick
sudo pacman -S fprintd imagemagick
安装Libfprint
它是一个开源软件库,旨在使应用程序开发人员能够轻松地在其软件中添加对消费者指纹读取器的支持。
git clone https://github.com/payden/libfprint.git
./autogen.sh
./configure --prefix=/usr
make
sudo make install
安装 fprint_demo
它是一个简单的 GTK+ 应用程序,用于演示和测试 libfprint 的功能。它是用 C 语言编写的。它提供了对支持库 libfprint 提供的许多功能的访问。
git clone git://github.com/dsd/fprint_demo.git
cd fprint_demo/
./autogen.sh
./configure --prefix=/usr
make
sudo make install
安装pam_fprint
它是一个简单的 PAM 模块,使用 libfprint 的指纹处理和验证功能进行身份验证。
git clone git://github.com/dsd/pam_fprint.git
cd pam_fprint/
./autogen.sh
./configure --prefix=/usr
make
sudo make install
安装成功后,生成指纹签名,要为手指添加签名,只需运行:
$ fprintd-enroll
系统会要求您扫描给定的手指。之后,签名将在 /var/lib/fprint/
中创建。
您可以通过运行来使用 GUI
$ fprint_demo
您还可以使用
pam_fprint_enroll
由于我使用了fprintd,我将其模块添加到PAM身份验证conf文件中,
nano /etc/pam.d/system-local-login
将 pam_fprintd.so 添加到 auth 部分的顶部即可
auth sufficient pam_fprintd.so
保存更改并退出。请参阅下面的屏幕截图。
重新启动计算机,看看是否会提示您扫描手指以解锁登录。
sudo reboot