When a program runs, the program can use adopted authority to gain
access to objects in two different ways:
- The program itself can adopt the authority of its owner. This is specified
in the user profile (USRPRF) parameter of the program or service program.
- The program can use (inherit) adopted authority from a previous program
that is still in the job’s call stack. A program can inherit the adopted authority
from previous programs even if the program itself does not adopt authority.
The use adopted authority (USEADPAUT) parameter of a program or a service
program controls whether the program inherits adopted authority from previous
programs in the program stack.