[OpenAFS-devel] setgroups() fails to change pag under linux 2.6
Todd M. Lewis
Todd_Lewis@unc.edu
Fri, 14 Jul 2006 14:30:58 -0400
Isn't joining an existing PAG just Wrong? I can see how it would be
convenient to do certain thing, but are you really supposed to be doing
those things? This seems like a back door to me. -- Todd Lewis
Christopher Allen Wing wrote:
> Yep, this is due to the fact that linux 2.6 now supports an arbitrary
> number of supplemental groups (instead of the fixed array in earlier
> versions).
>
> I had various similar hacks in the past that also broke.
>
>
> I think if you want to make this work you might consider writing a
> kernel module or something that just modifies the group list directly.
> Or you could propose a cross-platform interface for OpenAFS to offer a
> means of joining existing PAGs.
>
> -Chris Wing
> wingc@engin.umich.edu
>
>
> On Fri, 14 Jul 2006, David Thompson wrote:
>
>>
>> I have a "pag manager" I'm trying to migrate from linux 2.4 to linux
>> 2.6, and
>> I seem to have hit a wall.
>>
>> The manager's function is to select an appropriate (preexisting) pag
>> based on
>> the user's identity, cause it to become the pag for the current process,
>> and exec a target program.
>>
>> Under linux 2.4, if I happened to know the group IDs for a given pag,
>> sample
>> code like the following allowed a euid=0 process to acquire that pag:
>>
>> int joinpag (int g0, int g1)
>> {
>> int res, ngroups;
>> gid_t grouplist[NGROUPS_MAX];
>>
>> if ((ngroups = getgroups (NGROUPS_MAX, grouplist))<0) { return -1; }
>>
>> grouplist[0] = (gid_t)g0;
>> grouplist[1] = (gid_t)g1;
>>
>> if ((res = setgroups (ngroups, grouplist)) < 0) { return -2; }
>>
>> return 0;
>> }
>>
>> If I try this with a 2.6 kernel, the groups g0 and g1 end up at the
>> _end_ of
>> the groups list, and the original pag remains active.
>>
>> Have other people run into this? Is there an alternative method to
>> joining an
>> existing pag?
>>
>> Thanks in advance.
>>
>> Dave Thompson
>> UW-Madison
>>
>>
>>
>>
>> _______________________________________________
>> OpenAFS-devel mailing list
>> OpenAFS-devel@openafs.org
>> https://lists.openafs.org/mailman/listinfo/openafs-devel
>>
>>
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel
--
+--------------------------------------------------------------+
/ Todd_Lewis@unc.edu 919-445-9302 http://www.unc.edu/~utoddl /
/ "A modest little person, with much to be /
/ modest about." - Winston Churchill /
+--------------------------------------------------------------+