Answers:
您可能可以使用pam_listfile
模块来处理。创建一个/etc/pam.d/sshd
类似于以下内容的文件:
auth requisite pam_listfile.so item=user sense=allow file=/etc/authusers
auth sufficient pam_securid.so
auth required pam_deny.so
这样一来,只有列出/etc/authusers
的人才能使用两因素模块(在我们的情况下为secureid)进行身份验证。我没有实际测试过这种配置,但是理论上是合理的。
您可以通过允许任何人使用两因素身份验证进行身份验证来简化此过程;大概只有那些拥有适当设备/配置的人才能成功,因此您实际上会获得相同的行为。
为了对未配置Google Authenticator的用户禁用两因素身份验证,请在中添加nullok
选项/etc/pam.d/sshd
:
auth required pam_google_authenticator.so nullok
有关更多详细信息,请参见:https : //github.com/google/google-authenticator-libpam#setting-up-a-user
使用以下解决方案,可以为特定用户禁用PAM模块(Google身份验证器),
1)在Linux实例上创建一个用户组。该新组中存在的用户将禁用MFA / PAM,
sudo groupadd <groupname>
2)创建用户或将现有用户添加到新创建的组中-
sudo useradd <username>
sudo usermod -a -G <groupname> <username>
3)编辑/etc/pam.d/sshd文件,并添加以下语句以跳过新创建的组的PAM模块-
auth [success=done default=ignore] pam_succeed_if.so user ingroup <groupname>
可选的-
如果此新组需要完全访问权限,则将以下行添加到visudo文件-
%<groupname>ALL=(ALL) NOPASSWD: ALL
创建用户并将其添加到新组后,这些用户的MFA将被跳过。