是否有办法使PAM并行运行身份验证模块?
对于所有使用PAM的人来说,这可能是有用的。
看起来PAM按顺序和阻塞运行身份验证模块。
对于那些想要使用多个认证机制的人来说,这意味着我们必须有一个没有阻碍作用的方法层次结构。
我试图解决的问题是- GNome密钥环需要一个密码来解锁,但我也有pam_fprintd活动.还在玩人脸识别摄像机。
这意味着当我第一次登录时--首先是pam_fprintd块,然后是人脸识别块,然后我才能输入密码。
这也发生在苏多身上。这是一个主要的皮塔。
发布于 2023-04-09 15:04:22
面对同样的问题,我认为单靠PAM是无法解决的。来自pam_fprintd.so (man pam_fprintd)的手册页:
PAM堆栈的限制是通过设计序列化身份验证,因此pam_fprintd不可能同时允许通过密码和指纹进行身份验证。这取决于应用程序使用PAM服务来实现单独的PAM进程和单独运行单独的身份验证堆栈。例如,这就是向gdm用户提供多个身份验证方法的方式。
GNOME显示管理器(gdm3)允许并行地输入密码和指纹(只需要其中一个,而不是两者),它自己并行地实现了多个auth堆栈。
我还在linux-pam存储库中找到了一个GitHub问题,讨论了两年多的时间,如果有任何RFCs支持或反对它的话,是否应该支持它?但是最终,开发人员似乎并没有把它捡起来。
最后,这使得这个答案成为不回答(不幸的是),直到linux或第三方实现对PAM的一些通用扩展,从而允许并行地进行多个身份验证模块。
https://unix.stackexchange.com/questions/615555
复制相似问题