  The terse changing UIC and username context dept 
 The Question is:
 
I have a process that needs to change its own process user name and uic.  How
 would I go about doing this?
 
 The Answer is:
 
  Without details on specifically why you want to change the current
  profile to that of another user, an answer tailored to the problem
  is not feasible.
 
  There is far more to the context of a user than the username and
  the UIC.
 
  While there are kernel-mode tools that directly modify the username
  and UIC, various of these tools do not correctly modify the entire
  context, leading to odd run-time problems or failures.  These tools
  are also heavily privileged.  Further, these tools are linked against
  the OpenVMS kernel, meaning that specific steps to upgrade these tools
  must be taken each time OpenVMS is upgraded.  These tools also typically
  perform little if any security auditing, meaning the potetial for
  undetected system security breaches exists.
 
  First choice: don't.  Use the existing mechanisms (ACLs, subsystem
  identifiers, etc) and directly access the target object.  Subsystem
  identifiers are quite powerful, and permit object control via a
  matching ACE.  Unlike installing an executable image with privileges,
  subsystem identifiers grant (or deny) only very specific access, with
  all access based on the ACL associated with the target object.
 
  Second choice (for trusted servers): use the available persona system
  services.  These permit the current process to temporarily emulate the
  context of another user, and will reset the context upon image exit or
  subsequent persona service calls.  These services handle the auditing
  and emulation correctly.  You can also, if necessary, create processes
  or submit batch jobs while operating in the other user context.
 
