file: job.t package: muf status: alpha
The rootMakeUser function creates and returns a new
instance of Class User. This instance owns (only) itself.
A new dbfile is created for the new user:
the name of the new dbfile is as close to proposedDbfileName
as practical.
In the interests of keeping the C-coded kernel as
policy-free as possible, rootMakeUser does nothing
beyond the above. However, in the interest of sanity, it is
recommended that:
.u.
If several jobs may be entering new users, a lock should
of course be used to protect .u. See section withLockDo.
Newly created User objects default to having .lib as
their library of packages (user$s.lib), and
.lib.muf as their default package
(usr$s.package). Since they won't own either, they
won't be able to create symbols in their accessable packages
nor create new packages: You will normally want to create a
new object as their usr$s.lib, copy into it the
system packages you feel to be appropriate, and most likely
also create them a personal package which they own (probably
giving it their login name as a name) and point their
user$s.package to it.
A higher level wrapper function exists to do much of this work: See section rootMakeAUser.
Go to the first, previous, next, last section, table of contents.