如何在 Linux 上使用 PAM 设置指纹扫描仪
如果您的 Linux 设备上有指纹扫描仪,则可以轻松设置基于指纹的身份验证以提高安全性。
指纹是最常见的授权条目之一。使用生物特征数据进行授权,通过使用与个体相对密不可分的元素来确认个体的物理存在。
此外,生物识别数据通过使用几乎每个人特有的数据来为个人提供安全保障。撇开生物识别数据的合法使用限制不谈,这些功能凸显了指纹相对于其他第二因素工具的使用。
以下是如何使用 PAM(可插入身份验证模块)在 Linux 上设置指纹扫描仪。
关于指纹的注意事项
指纹方法并不是您的选择中最安全的选择。造成这种情况的原因有以下一些:
您无法更改您的指纹。因此,确保这些数据的安全性变得越来越重要。
人们在很多地方留下了指纹,因此很容易获得。
欺骗指纹扫描系统是可能的。虽然先进的设备让这件事很难做到,但也不是完全不可能。
指纹扫描可能无法识别该人的身份。特别是,受伤等身体变化可能导致扫描无法进行。
由于上述原因,使用指纹作为第三因素或仅作为弱证据来证明人的物理存在是有用的。
将指纹验证添加到唯一受密码保护的系统中将提供更多的安全性。使用指纹是有意义的,特别是在具有内置指纹扫描仪的设备上,因为这样做的成本几乎为零。
设定要求
当然,您需要指纹扫描仪才能将指纹功能添加到使用 GNU/Linux 操作系统的设备中。如今,大多数设备都配备了指纹扫描仪。
如果您有指纹扫描仪,下一步是在系统上安装 fprintd 软件包。
在基于 Debian(Ubuntu、Mint 等)的系统上:
sudo apt-get install fprintd
Arch Linux 用户可以使用 Pacman 安装 fprintd:
sudo pacman -S fprintd
在基于 Red Hat 的(Fedora、CentOS 等)系统上:
sudo yum install fprintd
安装后,您将安装fprintd和内部PAM模块。输入以下命令开始指纹扫描:
fprintd-enroll -f [finger_name]
您需要告诉fprintd您正在用哪根手指进行扫描。这样,您就可以知道在扫描过程中它正在询问您哪根手指。有效的手指名称是:
Command | Finger Name |
left-thumb | Left thumb |
left-index-finger | Left index finger |
left-middle-finger | Left middle finger |
left-ring-finger | Left ring finger |
left-little-finger | Left little finger |
right-thumb | Right thumb |
right-index-finger | Right index finger |
right-middle-finger | Right middle finger |
right-ring-finger | Right ring finger |
right-little-finger | Right little finger |
因此,引入左手小指的示例命令如下:
fprintd-enroll -f left-little-finger
然后,您需要扫描手指四次,如果成功,则您将添加指纹。
Using device /net/reactivated/Fprint/Device/0
Enrolling left-little-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed
要测试该过程是否成功,您可以运行以下命令并读取手指:
fprintd-verify -f left-little-finger
您注册的指纹将被列出,并且在扫描您指定的手指后您将收到确认信息。
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
- #0: left-little-finger
Verify result: verify-match (done)
您需要执行的 PAM 设置
在数据完整性和个人权利保护方面,PAM 在网络安全领域变得越来越重要。当恶意者攻击设备时,他们会利用权限升级等攻击来利用该设备。因此,PAM 是针对此类攻击的预防措施。
PAM 是 GNU/Linux 系统上负责用户授权的软件。您可以使用 /etc/pam.d 目录下的配置文件调整 PAM 的行为。如果您愿意,您可以根据需要自定义 PAM 设置。
要将指纹身份验证添加到设备的所有 PAM 控制登录中,请使用您选择的文本编辑器打开以下文件:
sudo vim /etc/pam.d/common-auth
您将看到类似于以下内容的文本:
请注意,如果此阶段出现问题并且您启用了屏幕锁定,您可能无法再次登录您的设备。
在文件末尾添加以下行:
auth required pam_fprintd.so
如果您使用 Vim,请在按 Escape 后输入 :wq。键入后按Enter,保存文件并退出。
此后,系统将要求您提供指纹以进行设备上的所有授权过程。
为了确保一切正常并在出现问题时轻松修复它,请从您保持打开的 sudo 授权终端打开另一个终端。按照上述建议,输入:
sudo ls ~
您的系统应该要求您输入密码和指纹以进行 sudo 授权。如果没有发生这种情况,或者主目录下的文件没有成功列出,请返回并检查步骤是否有错误。
如果遇到问题,您可以通过从 sudo 授权终端撤消并保存在 /etc/pam.d/common-auth 文件中所做的更改来防止设备锁定。
如果您成功通过测试,您现在可以开始使用指纹更安全地使用您的设备。
非管理员用户的注意事项
如果设备上有多个用户并且只有一个用户使用指纹,您可以将 /etc/pam.d/common-auth 配置更改为以下内容,以便只有设置了指纹的用户需要第二个因素。但是,您应该仔细考虑此步骤,因为它会将 root 用户排除在 2FA 之外:
auth required pam_fprintd.so nullok
如果您想使用指纹以root用户身份登录,则需要以root用户重复上述步骤。
使用指纹保护您的 Linux 设备
对于恶意用户来说,指纹并不是一个简单的障碍来访问您的设备。因此,如果您已采取所有预防措施来保护您的设备,您还可以利用指纹的安全威力。但是,您不应忘记,您必须一步一步正确地进行指纹配置。
您正在使用的指纹扫描仪应该不会让您失望。这就是为什么您需要信任您的硬件。此外,您还可以采取更简单的方法来确保设备安全。然而,指纹也不容忽视。