在我的测试服务器(使用 debian 或 centos)中,我需要能够使用 google 身份验证从一次用户跳转到 root 用户。要理解这个问题,例如在服务器上我有两个用户 bob -> 使用 su - 或 su root 使用 google 身份验证(不知道并且无法知道 root 密码) alice -> 使用 su - 或 su root 使用普通 root 密码,因为他知道它们。我不知道我是否理解正确,我尝试将其添加到
[root@proxy ~]# nano /etc/pam.d/su
顶部的行中,例如:
#%PAM-1.0
#auth required pam_google_authenticator.so nullok use_uid user = bob
#auth required pam_google_authenticator.so use_uid user = bob
auth required pam_google_authenticator.so
但没有一个条件user = bob
不起作用。只有标准的“全局”行工作正常……我用网上的许多指南测试了它,但仍然不起作用。我不知道如何解决这个问题。
我请求指导如何理解这一点。谢谢!
答案1
您可以使用成功时跳过 bob in 的检查/etc/pam.d/su
,例如
auth [success=2 default=ignore] pam_succeed_if.so use_uid user in bob
auth sufficient pam_unix.so
auth requisite pam_deny.so
auth sufficient pam_google_authenticator.so
auth requisite pam_deny.so