我在 CentOS 上使用 google authenticator pam 模块为我的用户创建 2FA 身份验证,但是,我希望只要求已注册身份验证器的用户输入其代码,而未注册 2FA 的用户仅需输入密码。我该怎么做?实际上,如果没有 2FA 令牌的用户尝试登录,即使密码正确,其连接也会被拒绝。这是我的 pam 配置。注意:对于到目前为止已经运行过 google-authenticator 的用户,它运行顺利。
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth required pam_google_authenticator.so
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_sss.so use_first_pass
#auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_sss.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=8 lcredit=2 ucredit=2 dcredit=2 ocredit=2
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_sss.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_sss.so
答案1
您可以编辑此行:
auth required pam_google_authenticator.so
到
auth required pam_google_authenticator.so nullok
这将允许双方,那些有誓言的人