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