AD用户对象对SSSD所需的权限?

今天我遇到了SSSD的重大问题,新创build的用户无法login。 解决问题之后,我发现问题出在AD用户对象安全权限中。 似乎最近我的团队中有人更改了经过身份validation的用户的权限,并取消选中“读取”checkbox。

所以我的问题是哪个用户做了一个Linux服务器join到SSSD域来validation和检索AD对象信息? 由于已经为authentication用户取消读取权限的用户非常关键,所以我想知道SSSD使用哪个用户进行身份validation。 它可能是需要权限的Linux服务器的计算机对象吗?

奇怪的是,当我启用读取权限暂时,身份证的用户之后,所有的工作正常。 然后,我取消了对已validation用户的读取权限,看起来一切正常。(当然在清空sssdcaching之后)对于哪个用户欢迎哪些权限是最低要求的任何见解。

我们发现它是实际validation的AD计算机对象。 给这个对象读取用户的权限使id命令检索组。 问题是哪些权限是最低要求,所以ID命令可以获得所有的组?

除非您在ldap_default_authtok中指定了ldap_default_bind_dnldap_default_authtok ,否则将默认为匿名绑定到指定的LDAP服务器以检索架构和对象。 其他任何东西,如login,将使用提供的凭据。

经过大量的研究,我们发现(正如我在问题中已经提到的那样)实际上是authentication的Linux服务器计算机对象。 将用户对象的读取权限授予计算机对象可使id工作并检索所有用户组。

但是由于我们不想授予所有用户的阅读权限,所以在经过多次试验和错误之后,我们发现只有一个必需的强制权限,那就是Read remote access information 。 从Read remote access informationcheckbox被选中的时刻(见截图),可以使用“ ìd命令获取所有组。 然后,SSSD能够检查用户是否在simple_allow_groups中的simple_allow_groups指令configuration的组中

在这里输入图像说明