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.