I have an LDAP server that is configured to serve up groups, and only
groups, using the rfc2307 schema. I have available to me a separate ldap
authentication server. I want sssd to get identity information from both
sources. It is not possible to just put the groups into the existing
server, as "they" will not grant me write access nor will they agree to
manage the groups.
sssd.conf is set up with two domains. The first (ldapr) is both auth and
id provider. The second (groupldap) is simply an id provider (with
auth_provider=none).
The problem is that initgroups() only seems to be running for the first
domain.
In the first domain, gidNumber = uidNumber but there is no group with this
gidNumber.
The groupldap DOES have a group with this gidNumber. It is successfully
obtained with the nss_cmd_getgrgid_search call before the initgroups call
finishes for USERNAME@ldapr.
The information flow is basically:
Issue initgroups for ALL
begin initgroups for ldapr
get missing information from groupldap
complete initgroups for ldapr
Here, it seems to me that it should continue with an initgroups for
groupldap. It does not.
There are other groups on groupldap that have memberUid=USERNAME. There is
never any search for groups with memberUid=USERNAME coming from the server
(in the logs on the ldap server, or in the sssd logs), and initgroups is
never called on the second domain (groupldap).
To make things more confusing, if I:
getent -s sss group SOMEGROUP
I get:
SOMEGROUP:*:12345:USERNAME:otheruser:...
where SOMEGROUP is a posixGroup on groupldap.
So, it CAN get the group information from the groupldap domain, but it
doesn't.
Is this a bug, or the expected behavior? If this is expected, how do you
get it to search both?
Any help would be greatly appreciated.
-Zach