kern.ngroups (non) setting ... new bounty ?
Harti Brandt
hartmut.brandt at dlr.de
Thu Sep 27 07:58:24 PDT 2007
On Wed, 26 Sep 2007, rsync.net wrote:
r>
r>
r>On Wed, 26 Sep 2007, Julian Elischer wrote:
r>
r>> >> rsync.net wrote:
r>> >>> It has been impossible to change kern.ngroups - at least for several years
r>> >>> now. It was not fixed in either 5.x or 6.x :
r>> >>>
r>> >>> http://lists.freebsd.org/pipermail/freebsd-bugs/2007-January/022140.html
r>> >>>
r>> >>> It is seemingly a difficult problem:
r>> >>>
r>> >>> http://www.atm.tut.fi/list-archive/freebsd-stable/msg09969.html [1]
r>> >>>
r>> >>> However it should be solved - we can't be the only ones out there trying
r>> >>> to add a UID to more than 16 groups...
r>> >> the big question is what do you do for NFS? remember something about
r>> >> it only having a fixed storage for groups.
r>> >
r>> >
r>> > (snip)
r>> >
r>> >
r>> >>> [1] Is it indeed true that these programs are broken by not following
r>> >>> NGROUPS_MAX from syslimits.h?
r>> >
r>> >
r>> > Assuming the answer to the above footnote is "yes", would it be reasonable
r>> > to fix the OS generally, but continue to hard code the limits in things
r>> > like NFS ?
r>> >
r>> > Are you saying that, unlike other items, NFS _does_ respect NGROUPS_MAX ?
r>>
r>> actually it doesn't
r>>
r>> see:
r>>
r>> nfs/rpcv2.h:#define RPCAUTH_UNIXGIDS 16
r>>
r>> but what do we do if a user has > 16?
r>
r>
r>We have no idea. All we know is, we need some UIDs to be members of more
r>than 16 groups, and that is currently impossible.
r>
r>We are happy to lend financial support to a solution ... however it sounds
r>like $500 and free rsync.net storage space isn't going to be sufficient ?
r>
r>Is it unexpected that someone has run into this limit ?
I have :-) There is an easy solution: Bump NGROUPS_MAX and recompile
everything. Be aware that in some cases the group list is truncated: NFS
and socket credentials (there may be more). I've done this over a year ago
on my desktop because I'm in 50 groups that come from an active directory.
Making this changeable via sysctl involves more work (see for example
struct kproc_info).
harti
More information about the freebsd-hackers
mailing list