不能将ldap组添加到系统本地用户

我有一个用户和组的ldap服务器。
此外,另一台服务器正在使用帐户的第一个。
ldap的用户可以login到第二台服务器。
我可以将组添加到ldap中的用户。

我尝试添加一个组(该组只存在于LDAP)到第二个服务器的系统用户没有任何运气。 可能吗 ?

谢谢 !

我已经search了同一个问题的答案(如你所见)。

我的结论是,您不能将LDAP组分配给仅存在于本地的用户。

这是两个世界: – 用户(及其组)是本地的 – 或者它们不是,即全部存储在目录中。

例如:如果用户已经拥有一个本地主要组,那么会发生什么情况,并且您会尝试向该用户添加一个辅助组? 通常情况下,这将存储在/ etc / group,但在这种情况下,它将不得不修改它可能不能的目录。

所以我想这是一个不行。

从我自己的调查来看,如果你已经build立了所有正常的PAM / nsswitch.confpipe道,你可以这样做,但是只能通过在LDAP服务器上的memberUid属性上直接使用ldapmodify将本地用户添加到LDAP数据库中的组中(见这里 ):

 $ ldapmodify -D <admin DN> -h <ldaphost> -W password: [enter password] dn: cn=vipb,ou=groups,dc=example,dc=com changetype: modify add: memberUid memberUid: fred ^D 

请注意,空白行必要的。

接下来,您必须使服务器2上的NCSDcaching无效:

 $ nscd --invalidate=group 

然后可以通过发出以下命令来检查服务器2上的组成员资格

 $ id -nG fred 

CAVEAT:使用LDAP作为用户数据库依赖于本标准草案中详述的模式: rfc2307bis-02 。 目前为止有三个版本的标准。 在版本之间调整的东西是member和memberUid属性; 这意味着您的LDAP设置可能无法正常播放。 完全符合bis-02的安装包含并支持给定组中的memberUid (用于LDAP组的本地login成员,没有dn)和member (对于具有完整dn的LDAP用户)。 他们也应该允许其中一个或两个都是空的,允许空组。 您的里程可能会有所不同 – 您需要检查您的服务器的架构。

像webmin这样的工具可以用来操纵LDAP用户和组以及LDAP数据库; 但是他们可能不会和rfc2307bis-02一起玩。 例如,Webmin的LDAP用户和组模块,可以对应memberUid而不是成员。

事情变得非常模糊的地方是成员的支持。 某些系统(例如early ownCloud)依靠成员支持来确定用户所属的组,而无需两次查询LDAP数据库。 通常, memberof只能用于其中一个属性,然后只能在重新调整LDAPconfiguration之后才能使用。