如何在中断命令 (SIGINT / ctrl+c) 时跳过进一步的 PAM 检查?

如何在中断命令 (SIGINT / ctrl+c) 时跳过进一步的 PAM 检查?

我有一个自定义 PAM 设置sudo,可以使用 Howdy,这是一个使用人脸识别进行身份验证的应用程序。我的当前/etc/pam.d/sudo看起来像这样:

#%PAM-1.0

auth      sufficient    pam_unix.so   try_first_pass nullok
auth      sufficient    pam_python.so /lib/security/howdy/pam.py

auth        include     system-auth
account     include     system-auth
session     include     system-auth

(大多数行都是从原始文件 IIRC 继承的。我使用的是 archlinux。)

它通常可以工作——它首先要求输入 sudo 密码,如果失败,则尝试面部识别。

但我注意到,当我在 sudo 要求输入密码ctrl+c时中断命令时,无论如何都会触发面部识别(Howdy)。这次人脸识别不会导致认证“成功”,命令执行确实被取消。然而,在人脸识别完成之前(无论成功还是失败)都会浪费几秒钟的时间。

事实上,我想要的是:在点击时不要首先触发人脸识别ctrl+c,因为这没有意义。

我是否错误配置了 PAM?正确的方法是什么?或者,如果这不是配置文件问题,可以做什么来实现我想要做的事情?

(最初发布在超级用户上。然后意识到这不是解决这个问题的最佳网站。)

相关内容