[X-Unix] Backdoor method to add users
William H. Magill
magill at mcgillsociety.org
Sat Feb 21 10:49:16 PST 2004
On 21 Feb, 2004, at 08:06, Alex wrote:
>> I am not aware of any hard limit on OS X on number of users.
> Good question -- what's the max number of users? There must be a limit.
On 21 Feb, 2004, at 10:19, Barry Lyden wrote:
> max number of users on a UNIX system is usually a kernel tunable
> parameter.
Not really.
The "max users" parameter is one of the most misunderstood and badly
named parameters in Unix. [And the fact that it means different things
in different contexts doesn't help.] And as far as I can tell, it does
not exist in OS X. (Being MACH, it should not exist.)
"Max users" is NOT a limit on the number of userids (UIDs) which can
exist on a system OR on the number of simultaneous users which can be
logged on.
Historically it was a value used during the kernel generation process
which caused other values associated with static table structures to be
modified (ie recalculated) -- to change system memory allocations for
buffers and the like. Contemporary systems are much more dynamic.
[Other PROGRAMS (not operating systems), like SAMBA, use the term to
mean something completely different.]
On any Unix system there are two different concepts concerning the
maximum number of users any given system configuration can support.
The first is the number of uids in the "login data base" (historically,
/etc/passwd).
The "UID" must be unique for every user on the "system"... (which can
included many systems, but I'm not going to include clusters and the
like here.) This 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. This number is hard and fast and is knowable. [Off
hand, I don't know what value OSX supports, but if OS X is 64 bit
clean, it supports a 64 bit number, unlike Intel machines which only
are 32 bit machines. Yeah, you can play all kinds of double-32 games
like both Sun and HP did before they managed to get their OS to be 64
bit clean, but that also is a different issue.]
The second concept has to do with the maximum number of simultaneous or
active processes any given system can support (kern.maxproc and
kern.maxprocperuid). The settings of these values also control kernel
table space. kern.maxproc is the total number of simultaneous processes
an OS X system can have running -- the default is 532 for client. The
maxprocperuid default number is 100. While these numbers can be set
arbitrarily, a knowledge of system architecting will quickly show that
you can't put 10 tons of crap in a 5 ton truck.
Once you get a system beyond a few hundreds of users, you begin to
encounter all kinds of issues which bear little relationship to the
basic OS and more to do with the hardware itself.
Once you get beyond a few thousand users and start pushing ten thousand
users, you start seeing REALLY weird interactions between hardware and
software design philosophies.
One thing which is true -- large multi-user timesharing systems are
surprisingly few and far between. Five to ten thousand users of ONE
system is a REALLY big user community, and there are very few systems
around which are big enough to handle them. They are called
"mainframes." Virtually all "Super Computers," by contrast have
surprisingly small user communities -- typically only a couple hundred
users. One simple reason is called "overhead." The more users you have
on a system, the more resources are required to oversee their usage
requirements.
So in short. There is no effective limit on the number of UIDS a given
system can support. But there is a real limit to the number of UIDS a
given set of resources can support.
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
More information about the X-Unix
mailing list