Diventare QSECOFR
Nei sistemi Unix esiste il comando su che permette, avendone la password, di impersonare il "superutente" root.
Anche su AS400 ciò è possibile, anzi, se si possiede l'autorizzazione *USE sul profilo utente desiderato, si può far girare il proprio lavoro sotto mentite spoglie.
Ecco un semplice CL che a tale scopo usa le API di sistema QSYGETPH e QWTSETP.
PGM PARM(&UTENTE)
DCL VAR(&UTENTE) TYPE(*CHAR) LEN(10)
DCL VAR(&USCITA) TYPE(*CHAR) LEN(50)
DCL VAR(&TESTOERROR) TYPE(*CHAR) LEN(100)
DCL VAR(&HUSER) TYPE(*CHAR) LEN(12)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERRORE))
/*------------------------------------------------------------------*/
/* RECUPERO L'HANDLE DEL PROFILO UTENTE */
CALL PGM(QSYS/QSYGETPH) PARM(&UTENTE *NOPWDCHK +
&HUSER)
/* PASSO AL NUOVO PROFILO UTENTE */
CALL PGM(QSYS/QWTSETP) PARM(&HUSER)
/* INVIO UN MESSAGGIO DI COMPLETAMENTO OPERAZIONE */
SNDPGMMSG MSG('Profilo utente cambiato')
/*------------------------------------------------------------------*/
/* FINE */
/* */
GOTO CMDLBL(FINE)
/* GESTIONE ERRORI */
ERRORE: RCVMSG MSGTYPE(*EXCP) MSG(&TESTOERROR)
SNDPGMMSG MSG(&TESTOERROR)
/* */
FINE:
ENDPGM

Lascia un commento