针对特定用户的 Google 身份验证器 PAM

cee*_*yoz 5 password authentication pam google-authenticator

我当前的 sshd PAM 配置:

#%PAM-1.0
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so
Run Code Online (Sandbox Code Playgroud)

我正在添加 Google 身份验证器,但我们尚未准备好向所有用户推出它。

相信以下内容应该需要“gauth”组中的用户使用 Google Authenticator PAM,但希望有人可以在我将自己锁定在 SSH 之外之前检查我的工作...

#%PAM-1.0
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
auth [success=1 default=ignore] pam_succeed_if.so quiet user notingroup gauth
auth required pam_google_authenticator.so
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so
Run Code Online (Sandbox Code Playgroud)

我是否正确理解“success=1”意味着“如果成功则跳过下一行”?

ben*_*ell 4

根据pam 文档,我相信您的理解是正确的。

如果您打开另一个连接进行测试,并保持原始 ssh 会话连接(但请确保它不会超时!),您应该能够进行更改、测试并在需要时恢复回来!