可以配置具有 RADIUS 身份验证的路由器和交换机,这样只要 RADIUS 服务器可用,就禁止本地配置的用户登录。如果 RADIUS 服务器不可用,它们将恢复为允许以本地配置的用户身份登录。
是否可以使用 winbind 对 Active Directory 用户进行身份验证,从而在 Linux 计算机上实现相同的效果?我觉得可以通过正确的 PAM 配置来实现,但我对 PAM 的学习曲线还不是很了解...
答案1
对的,这是可能的。
基本上,您需要确保您的 pam 配置中的 pam_winbind 下方有 pam_unix,如下例所示:
auth required /lib/security/pam_securetty.so
auth sufficient /lib/security/pam_winbind.so
auth sufficient /lib/security/pam_unix.so use_first_pass
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_nologin.so
account sufficient /lib/security/pam_winbind.so
account required /lib/security/pam_stack.so service=system-auth
password required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth
session optional /lib/security/pam_console.so
您还需要确保 nsswitch 已配置为回退到本地 ID:
passwd: winbind files
shadow: winbind files
group: winbind files
samba网站上有详细的文档:
- http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/winbind.html
- http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/pam.html
但是:如果您不设置硬超时,您可能会遇到登录时间过长的问题。我还建议您研究其他可能在这种情况下效果更好的替代方案。