PDA

View Full Version : Programmaufruf mit fremder Berechtigung



lossin
08-03-10, 13:36
Hallo @all,

ein normaler Benutzer, der sonst nicht viele Rechte hat, soll/muß in einem IFS-Verzeichnis Berechtigungen vergeben können.
Ich habe das entsprechende Programm mit dem Parameter

USRPRF(*OWNER)

umgewandelt und den Owner des Programms entsprechend geändert. Trotzdem kommt bei Programmaufruf der Fehler, daß der Benutzer keine Berechtigung hat, die IFS-Datei zu ändern. Mach ich da was falsch oder habe ich einen Denkfehler ?

Danke im Voraus für eure Antworten

Fuerchau
08-03-10, 14:06
USRPRF(*OWNER) funktioniert leider nicht mit den IFS-Befehlen.
Hierzu musst du die API's QSYGETPH und QSYSETPH bemühen um für die Aktion auf ein anderes Profil umzuschalten.
Beachte aber, dass das nicht durch den Bediener unterbrechbar ist, sonst arbeitet er mit dem anderen User weiter.

lossin
08-03-10, 15:31
Hallo,

danke für deine Antwort.
Da das entsprechende Programm von mir im Batch laufen soll, sollte es ja keine Probleme wegen der kurzfristigen Berechtigung geben. Ich muß mir die APIs jetzt mal in Ruhe zu Gemüte führen :)

BenderD
08-03-10, 16:15
... im Batch brauchts das nicht, SBMJOB hat eine Parameter USER (da braucht man Berechtigung an dem USRPRF, die darf aber adaptiert sein - wobei das nicht QSECOFR, aber jedes andere Profil sein darf)

D*B


Hallo,

danke für deine Antwort.
Da das entsprechende Programm von mir im Batch laufen soll, sollte es ja keine Probleme wegen der kurzfristigen Berechtigung geben. Ich muß mir die APIs jetzt mal in Ruhe zu Gemüte führen :)

Pikachu
08-03-10, 16:24
PGM
DCL VAR(&OLDHANDLE) TYPE(*CHAR) LEN(12)
DCL VAR(&NEWHANDLE) TYPE(*CHAR) LEN(12)
DCL VAR(&NEWUSER) TYPE(*CHAR) LEN(10)
MONMSG MSGID(CPF0000)

CHGVAR VAR(&NEWUSER) VALUE(Neuer Benutzer)

CALL PGM(QSYGETPH) PARM(*CURRENT *NOPWD &OLDHANDLE)
CALL PGM(QSYGETPH) PARM(&NEWUSER *NOPWD &NEWHANDLE)
CALL PGM(QWTSETP) PARM(&NEWHANDLE)

...

CALL PGM(QWTSETP) PARM(&OLDHANDLE)
CALL PGM(QSYRLSPH) PARM(&NEWHANDLE)
CALL PGM(QSYRLSPH) PARM(&OLDHANDLE)
ENDPGM