TAA Tools
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


Home Page Up to Top