我基本上想解锁任何满足这些条件的 sudo 身份验证(无论先成功完成什么):
- USB 作为匹配的安全密钥(自定义脚本)。
- 指纹匹配。
- 密码已输入并匹配。
添加 PAM 堆栈以允许顺序 2FA/3FA 很容易,但我在使其并行运行并选择第一个成功的情况下付出了很大的努力。
如果失败,则允许auth sufficient
等待队列中的下一个方法,但我还没有找到一种并行处理类似方法的方法(寻找类似的方法auth sufficient_parallel
)。
提问前记录的参考文献:
- PAM - 必需且充分的控制标志
- linux-pam#301 - 并行或“任何”PAM 模块
- i3lock#201 - 使用 fprintd 挂起/睡眠后指纹解锁和 PAM 不起作用
- 一次使用多种 PAM 登录方法?
- 无论提示类型如何,如何允许在锁定/登录屏幕上输入指纹和密码?
其中大多数要么太过时,要么没有维护。
我觉得按顺序运行的 10 秒指纹超时是一种浪费,因为除非再次终止并重新启动身份验证进程,否则超时后它就没有用处,并且除非指纹的 10 秒超时完成,否则无法输入密码。
现在已经是 2022 年了,我觉得这种类型的并行性是用户的普遍要求,因为处理器和操作系统很久以前就已经采用了多核和线程。
是否有任何可行的技巧或适用的补丁可以使其立即工作?