PAM 指纹登录阻止密码

PAM 指纹登录阻止密码

有没有办法让 PAM 并行运行身份验证模块?

对于所有使用 PAM 的人来说这可能会有用。

看来 PAM 是按顺序和阻塞方式运行身份验证模块的。

对于想要使用多种身份验证机制的人来说,这意味着我们必须拥有一个不具有阻碍性的方法层次结构。

我试图解决的问题是 - GNome 密钥环需要密码才能解锁,但我也激活了 pam_fprintd...并且正在使用面部识别摄像头。

这意味着当我第一次登录时 - 首先是 pam_fprintd 块,然后是面部识别块,然后我才能输入密码。

sudo 也会发生这种情况。这是一个主要的 PITA。

答案1

面对同样的问题,我认为仅靠PAM是无法解决的。来自 pam_fprintd.so ( ) 的手册页man pam_fprintd

局限性

PAM 堆栈设计为序列化身份验证,因此 pam_fprintd 不可能同时允许通过密码和指纹进行身份验证。

由使用 PAM 服务的应用程序来实现单独的 PAM 进程并单独运行单独的身份验证堆栈。例如,这就是为 gdm 用户提供多种身份验证方法的方式。

例如, GNOME 显示管理器 ( gdm3) 允许并行输入密码和指纹(仅需要其中之一,而不需要两者),它自己并行实现了多个身份验证堆栈。

我还找到了一个GitHub问题在 linux-pam 存储库中,讨论了 PAM 是否应该支持这一点、是否有 RFC 支持或反对它 - 但最终,开发人员似乎没有接受它。

最后,这使得这个答案没有答案(不幸的是),直到 linux-pam 或第三方对 PAM 实现一些通用扩展以允许并行多个身份验证模块。

答案2

如果您使用的是 fprint 版本 1.92 或更高版本,您可以按Ctrl+C停止尝试使用指纹并切换到通过密码进行身份验证:实现这个的承诺

相关内容