我们正在尝试用SSSD在一些Linux系统上集成ActiveDirectory。
到目前为止,我们已经将linux系统join了这个领域,我们可以使用AD定义的用户login到Linux系统。 现在每个AD用户都可以login到与SSSD集成的每个Linux系统。
我如何让用户Foologin到LinuxServer01,但阻止他login到LinuxServer02? 和/或我怎么能阻止用户login到每个Linux系统,让他在一些特定的?
我build议不要在大多数部署中使用基于filter的访问控制filter,原因有二:
memberof属性,而用户是嵌套组的成员 – 由于用户条目仅包含直接父项的成员,所以嵌套组永远不会匹配。 对于非常简单的用例,例如允许用户或一组用户,我build议使用简单的访问提供程序
对于复杂的使用情况,SSSD支持从1.12.x系列开始的AD GPO,请searchsssd-ad手册页以获取详细信息。
在做了更多RTFM之后,我在sssd-ad(5)中find了详细信息 – 我第一次肯定错过了它们:
access_provider是permit ,所以每个可以进行身份validation的用户都有权login系统。 这在sssd.conf(5)中有解释。 access_provider = ad ad_access_filter -ad(5)中详细介绍的ad_access_filter为可以login的用户定义filter (但是我仍然不知道是否有任何方法可以在AD一侧逐一指定系统,以允许用户login)
在你的sssd.confconfiguration文件中,你可以修改访问filter来满足你的需求:
在domain/default部分下,尝试以下操作:
access_provider = ldap ldap_access_filter = memberOf=cn=GroupName,ou=Groups,dc=domain,dc=com