UNADOPT UNADOPT TAASECV |
The Unadopt command is not intended to be executed.
Instead, the TAASECVC program should be called with a qualified name.
A single parameter contains the command which is to be executed
without the benefit of adopted authority. TAASECVC is specified as
USEADPAUT(*NO).
A typical use of the function would be:
DCL &CMD *CHAR LEN(3000)
.
CHGVAR &CMD (xxx)
CALL PGM(TAATOOL/TAASECVC) PARM(&CMD)
The UNADOPT function is intended for the situation where you are:
** Executing a program that adopts its owners profile (by use of
the USRPRF(*OWNER) function).
** You want to execute a command that should not run under the
adopted authority (It should run under the authority of the
current user only).
** No variables are being passed back from the command. If you
have variables, you normally need a specific sub-program that
is specified as USEADPAUT(*NO).
For example, assume you executing a program that was created by QPGMR
and adopts his authority. The QPGMR profile has *JOBCTL authority.
You now want to use WRKOUTQ for an output queue (assume its QPRINT)
that multiple users use.
If you specify:
WRKOUTQ OUTQ(QPRINT)
The WRKOUTQ display will appear, but the user can now:
** Control any spooled file (e.g. delete another users spooled
file)
** Execute additional commands on the command line unless the
user is LMTCPB(*YES).
To avoid these possibilities, you specify a CALL to TAASECVC and pass
the command to be executed:
DCL &CMD *CHAR LEN(3000)
.
CHGVAR &CMD 'WRKOUTQ OUTQ(QPRINT)'
CALL PGM(TAATOOL/TAASECVC) PARM(&CMD)
Any escape messages caused by the command that is executed will be
re-sent to your program.
For the best security control, you should use a qualified call to
TAATOOL/TAASECVC. This avoids the possibility of a user attempting
to bypass your security function by manipulating the library list so
that a different program is called.
The TAASECVC program is written to execute the command using QCMDEXC.
When the UNADOPT tool is created, the TAASECVC program is created and
then the CHGPGM command is run as:
CHGPGM PGM(TAASECVC) USEADPAUT(*NO)
Command parameters *CMD
------------------
The command is not intended to be executed. You should execute the
function using a qualified call to the CPP:
CALL PGM(TAATOOL/TAASECVC) PARM(&CMD)
If you execute the UNADOPT command, you will receive an escape
message describing how to call the TAASECVC program directly.
Restrictions
------------
The command being executed cannot return any variables.
Prerequisites
-------------
The following TAA Tools must be on your system:
SNDESCMSG Send escape message
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
UNADOPT *CMD TAASECV QATTCMD
TAASECVC *PGM CLP TAASECVC QATTCL
TAASECVC2 *PGM CLP TAASECVC2 QATTCL
The TAASECVC2 program is the CPP for the UNADOPT command. It will
send an escape message describing how to call TAASECVC.
|
Added to TAA Productivity tools April 1, 1995