On 21 Feb, 2004, at 14:22, Alex wrote: > On Saturday, Feb 21, 2004, at 13:49 Canada/Eastern, William H. Magill > wrote: > >> [...] The "UID" [...] is a numeric value whose maximum value is >> determined by both the number of bits the hardware architecture >> supports (as in 8/16/32/64) and by the coding of the kernel to >> support a particular "address" space. [...] if OS X is 64 bit clean, >> it supports a 64 bit number, [...] > > I was under the impression that, even on some 32-bit and 64-bit > systems, the UID is limited to 65535 (biggest 16-bit unsigned > integer). I don't recall where I read this -- is it incorrect? Yes. It is very implementation dependent. That is the limit on 32 bit systems. In Tru64 Unix the value is 4,294,967,294 (32 bits 2 reserved values). Note that this "restriction" applies to GIDs as well as UIDs. However, System V based environments have that 65,535 limit. "The System V file system (S5FS) does not support the maximum range of UIDs and GIDs. Any file system syscall that specifies UIDs and GIDs greater than 65,535 returns an EINVAL error. Users assigned a UID or GID greater than 65,535 cannot create or own files on a System V file system. Consider using the UFS or AdvFS as a solution." Keep in mind, the System V file system mentioned is essentially the original UFS file system -- pre BSD 4.x when it was expanded to allow a size greater than 2GB. It is virtually unused today. (When was the last time you saw a REAL ATT System V implementation?) However, the "user name" is STILL limited to 8 characters. [Which is a royal pain in the pituti but it is so ingrained in the definition of Unix that it cannot be changed, despite 15+ years worth of trying. Which drives those of us who come from a VMS background nuts -- we had 64 character usernames back in 1980!!! ... but then, back in those days the attitude was, "nobody would ever need more than 640K of memory," despite that fact that VMS was virtual and already supporting much more than one meg of (expenisve) physical memory. Unix was developed on PDPs where a 512K machine was a HUGE and expensive machine!] The limits for OS X are defined in /usr/include/sys/syslimits.h #define UID_MAX 2147483647U /* max value for a uid_t (2^31-2) */ #define GID_MAX 2147483647U /* max value for a gid_t (2^31-2) */ [These are from a G4 environment. I haven't looked at the G5 builds.] T.T.F.N. William H. Magill # Beige G3 - Rev A motherboard - 768 Meg # Flat-panel iMac (2.1) 800MHz - Super Drive - 768 Meg # PWS433a [Alpha 21164 Rev 7.2 (EV56)- 64 Meg]- Tru64 5.1a # XP1000 - [Alpha EV6] magill at mcgillsociety.org magill at acm.org magill at mac.com