NAME
VMS::Persona - Create, assume, or drop Personas
SYNOPSIS
use VMS::Persona;
$Persona = new_persona(NAME => $UserName
[, ASSUME_DEFPRIV => bool]
[, ASSUME_DEFCLASS => bool]);
$IsOK = assume_persona(PERSONA => $Persona
[, ASSUME_SECURITY => bool]
[, ASSUME_ACCOUNT => bool]
[, ASSUME_JOB_WIDE => bool]);
$IsOK = drop_persona();
$IsOK = delete_persona($Persona);
DESCRIPTION
Create, assume, drop, or delete personas.
new_persona()
This function creates a new persona context and returns a handle to it. If ASSUME_DEFPRIV is set to true, then the persona is created with default privileges. If ASSUME_DEFCLASS is set to true, then the persona is created with default classification.
assume_persona()
Assume a persona previously created with new_persona
. The ASSUME_SECURITY
, ASSUME_ACCOUNT
, and ASSUME_JOB_WIDE
parameters will, if set to true, set the corresponding flags in the $PERSONA_ASSUME
call.
drop_persona()
Drop the current persona. (This is a convenience interface to the $PERSONA_ASSUME system service with a persona handle of 1, which discards the current persona)
delete_persona()
Delete a previously created persona.
SECURITY
Standard VMS system security is enforced, which means the process needs DETACH (IMPERSONATE in VMS 7.1 and up) privilege and read access to the SYSUAF.
LIMITATIONS
The persona services first came into VMS in version 6.2, so this module just won't work on earlier versions of VMS.
The docs for the persona services in the VMS 6.2 and 7.1 docs are a touch... skimpy. There's no better interpretation here, since I don't have one.
AUTHOR
Dan Sugalski <sugalskd@osshe.edu>
SEE ALSO
perl(1), OpenVMS System Services Reference Manual