我正在尝试使用 pam 文件为 Ubuntu 设置身份验证方案。
但是,我不知道如何实现两种不同的身份验证方法。
我已经设置了 Yubikey 身份验证,但是无论如何,控制台都会提示输入密码和 yubikey OTP。
两者都必须正确,但是,我想要的是 Yubikey 的提示,如果成功,则登录。
如果 Yubikey 验证失败,则提示输入密码。
但无论如何,我都会收到输入 yubikey OTP 和密码的提示。
必需的、足够的关键字似乎没有什么区别。
我无法弄清楚如何堆叠这样的身份验证配置。
总结一下:
我想通过方法A进行身份验证。
如果 A 失败,则尝试通过 B 进行身份验证。
答案1
第一种身份验证方法必须足够,第二种身份验证方法是必需的。
Ubuntu 使用另一种配置风格。获取 /etc/pam.d/common-auth 并对其进行如下更改:
auth [success=2 default=ignore] pam_yubikey.so
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so
因此,如果 pam_yubikey 成功,它将跳过接下来的两行,您应该会得到您想要的行为。
问候 Cornelius