我有多个 Linux 服务器,均配置为允许使用 Active Directory 进行 Kerberos 身份验证。所有其他用户和组属性都位于单独的目录服务器 (389) 中。我可以登录并获取用户信息(getent passwd、id、getent group 等...)
现在,每台服务器都托管一个 Kerberized 应用程序(每台服务器一个),用户可以访问。其中一些应用程序不使用 PAM。有没有办法可以限制某些用户只能访问某些应用程序/服务器,具体取决于他们是否属于特定组?
我的想法是找到一种方法来限制 AD,以便只有当用户是特定 AD 组的成员时才发出服务票证。或者,可以从 Linux 端进行一些配置(例如 krb5.conf 中的配置),允许我执行授权检查或以某种方式触发 PAM 会话和帐户检查。
谢谢
答案1
Kerberos 适用于验证即证明某人是谁。它不适用于授权即弄清楚应该允许某人做什么。您需要使用其他东西。换句话说,应用程序应该说“是的,我相信您就是您所说的那个人,但您无法访问您尝试访问的内容。”
是sshd
AllowGroups
一个不错的选择。对于允许使用 LDAP 过滤器的应用程序来说,这将是理想的选择。这完全取决于相关应用程序的授权功能。