Gracias Fernando,
Este programa al final hace lo mismo que estoy haciendo. Permite ejecutar a un
usuario programas con la autorizacion de otro, pero si algun programa accede a
algun fichero con el nombre de usuario no me accede con el usuario que he hecho
SWAP sino con el usuario original, partiendo de la base que recupera el usuario
con RTVJOBA.
Un saludo
Jesus M� Arzak Capilla
Talleres de Escoriaza,S.A.
Dpto Proceso de Datos
www.tesa.es
"Fernando Martinez" <[EMAIL PROTECTED]> con fecha 20/11/2002 09:06:19
Por favor, responda a [EMAIL PROTECTED]
Destinatarios: [EMAIL PROTECTED]
CC: (cci: Jesus Arzak/TESANET)
Asunto: RE: Cambiar un Usuario por Otro
Hola Jesus
Mira a ver si este programa te sirve.
Saludos
Fernando Martinez
-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]En nombre de Jesus Arzak
Enviado el: mi�rcoles, 20 de noviembre de 2002 11:44
Para: [EMAIL PROTECTED]
Asunto: Cambiar un Usuario por Otro
Hola a todos,
Os expongo el problema. Necesito que un usuario se autentifique en el AS400
y de
alguna manera pueda decirle que es otro a todos los efectos, no so lo a
nivel de
autorizaciones.
Necesito que esto sea asi porque quiero que funcione en la rutina normal de
ejecucion, que entre los multiples programas, se incluyen sentencias del
tipo
RTVJOBA USER(&USUARIO).
Lo que pretendo hacer es como simular que un usuario entra en mi maquina,
hace
signoff y seguidamente entra con otro usuario generico.
He probado a utilizar las API'S QSYGETPH y QWTSETP pero no me funciona. Hay
alguien que me pueda decir si existe alguna manera de hacerlo.
Un saludo,
Jesus M� Arzak Capilla
Talleres de Escoriaza,S.A.
Dpto Proceso de Datos
www.tesa.es
ADVERTENCIA/WARNING
ESTE CORREO ELECTRONICO CONTIENE INFORMACION PRIVADA Y
ESTRICTAMENTE CONFIDENCIAL. Si usted no es el destinatario del
presente mensaje no esta autorizado a leerlo, retenerlo o difundirlo.
THIS E-MAIL IS PRIVILEGED, CONFIDENTIAL AND CONTAINS PRIVATE
INFORMATION. Any reading, retention, distribution or copying of this
communication by any person other than its intended recipient is prohibited.
_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]?body=LEAVE
/*********************************************************************/
/* */
/* Create as user with *ALLOBJ and *SECADM */
/* CRTCLPGM PGM(lib/SWAP) USRPRF(*OWNER) AUT(*EXCLUDE) */
/* */
/* */
/* PURPOSE: SWAP -- This program will swap the user profile of */
/* a job but prevents swap to a user profile */
/* the with *ALLOBJ *SERVICE *SECADM OR *SPLCTL */
/* special authority */
/*********************************************************************/
RESETPWD: PGM (&USERID)
DCL &USERID *CHAR 10
/*********************************************************/
/* Variables for API to retrieve user profile attributes */
/*********************************************************/
DCL &RTNDTA *CHAR 83
/***********************************************/
/* API work area USRI0200 data returned */
/***********************************************/
/* Type Field */
/* 1 BINARY(4) Bytes returned */
/* 5 BINARY(4) Bytes available */
/* 9 CHAR(10) User profile name */
/* 19 CHAR(10) User class name */
/* 29 CHAR(15) Special authority */
/* 29 CHAR(1 ) ALLOBJ */
/* 30 CHAR(1 ) SECADM */
/* 31 CHAR(1 ) JOBCTL */
/* 32 CHAR(1 ) SPLCTL */
/* 33 CHAR(1 ) SAVSYS */
/* 34 CHAR(1 ) SERVICE */
/* 35 CHAR(1 ) AUDIT */
/* 36 CHAR(1 ) IOSYSCFG */
/* 38 CHAR(7 ) future expansion */
/* 44 CHAR(10) Group profile name */
/* 54 CHAR(10) Owner */
/* 64 CHAR(10) Group authority name */
/* 74 CHAR(10) Limit capabilities */
/***********************************************/
DCL &OUTVARD *DEC (5 0) VALUE(83)
DCL &OUTLEN *CHAR 4
DCL &FMT *CHAR 8 VALUE(USRI0200)
DCL &ERRCDE *CHAR 80
DCL &ERRLEND *DEC (5 0) VALUE(80)
DCL &HANDLE *CHAR 12
/******************************************************/
/* Retrieve the special authority of the user profile */
/* Do not allow reset if user has special authority */
/* *ALLOBJ *SECADM *SPLCTL or *SERVICE */
/******************************************************/
CHGVAR VAR(%BIN(&OUTLEN)) VALUE(&OUTVARD)
CHGVAR VAR(%BIN(&ERRCDE 1 4)) VALUE(&ERRLEND)
CALL QSYRUSRI +
(&RTNDTA &OUTLEN &FMT &USERID &ERRCDE)
IF ( (%SST(&RTNDTA 29 1 )='Y') *OR /*check *ALLOBJ*/ +
(%SST(&RTNDTA 30 1 )='Y') *OR /*check *SECADM*/ +
(%SST(&RTNDTA 32 1 )='Y') *OR /*check *SPLCTL*/ +
(%SST(&RTNDTA 34 1 )='Y')) DO /*check *SERVICE */
SNDPGMMSG MSGID(CPF9801) MSGTYPE(*ESCAPE) +
MSGDTA('Swap of this user profile not allowed.')
ENDDO
/************************************************************/
/* Swap user profile */
/************************************************************/
/* CALL QSYGETPH (&USER '*NOPWD' &HANDLE) */
CALL QSYGETPH (&USERID '*NOPWD' &HANDLE)
CALL QWTSETP ( &HANDLE)
CALL QSYRLSPH ( &HANDLE)
ENDPGM