Re: uids

Jim Dennis (jimd@starshine.org)
Wed, 16 Jun 1999 15:40:22 -0700


> Jim Dennis <jimd@starshine.org> writes:

[... does Linux support 32-bit UIDs and GIDs ? ...]

>> So I don't think that large UIDs are supported on any
>> port of Linux; nor by glibc 2.0 nor 2.1.

>> I've copied Ulrich Drepper <drepper@cygnus.com>, current
>> maintainer of glibc, on this reply in the hopes that he'll
>> set me straight if I'm wrong. Ulrich?

> drepper@myware glibc-devel-19990613$ egrep
> '[gu]id_t' /usr/include/bits/types.h
> typedef __u_int __uid_t; /* Type of user identifications. */
> typedef __u_int __gid_t; /* Type of group identifications. */

> Glibc never used 16 bits values.

It's getting the type from the OS header files (in this case
the Linux types.h), right?

This suggests that one could make a kernel with 32-bit
UIDs and GIDs, rebuild glibc on it (and possibly have to
fix bugs some applications that were linked against glibc)
and build a Linux system with support for the larger UID
space.

I'll ask on the kernel list regarding the size/scope of
such a change. Would it require changes to various
filesystems? (I presume so, since they are storing UIDs
and GIDs in all of the inodes which seem to be a pretty
densely packed struct. I guess that shifting things
around in the inode my cause sector/cluster alignment
problems).

Obviously any statically linked utilities the depended
on these structures would also have to be rebuilt.

I discussed this at least once before (on a mailing list
newsgroup or somewhere) and came away with the impression
that it is a pretty big project.

I've moved this discussion to the kernel list (moving
Ulrich and M off to a Bcc: line so they will not be
inundated with responses therefrom). I'll summarize
any fruits of that thread back to both of them.

So, LKern-at-large:

How big a project would this be? Are larger UIDs supported
under any version of Linux? How much would be break if we
tried it? Why do we currently use only 16-bits? Do the
UID/GIDs pack into some other struct better that way?
Does it have to do with real UID vs effective UID?

TIA for any comments.

--
Jim Dennis                                             jdennis@linuxcare.com
Linuxcare: Linux Corporate Support Team:            http://www.linuxcare.com

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/