Authentication
特定使用者的 Google Authenticator PAM
我目前的 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
我正在添加 Google Authenticator,但我們還沒有準備好向所有使用者推出它。
我相信以下內容應該要求“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
我是否正確理解“成功= 1”的意思是“如果成功則跳過下一行”?
根據pam 文件,我相信您的理解是正確的。
如果您打開另一個連接進行測試,您應該能夠進行更改、測試並在需要時恢復,保持原來的 ssh 會話保持連接(但要確保它不會超時!)
在使用 PAM 堆棧時,我通常不使用我實際上想要修改的服務,因為這是一項“生產性”服務。
因此,在這種情況下,我將使用 /etc/pam.d/login 而不是ssh進行測試。登錄可以通過簡單地呼叫來測試:
login
如果 PAM 配置看起來不錯,我可以將其傳輸到gdm、ssh或其他任何東西。(誰需要本地登錄 ;-)
是的,success=n意味著,如果成功,跳過接下來的n行。