Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Control C option

Art Dantonio
Occasional Contributor

Control C option

How can this be disable for a group of users to prevent them from breaking out of a preset menu?
6 REPLIES
Martin P.J. Zinser
Honored Contributor

Re: Control C option

Hello,

what you want to achieve is handeled in VMS by setting the account to captive in the SYSUAF.

Check

mcr authorize
help modif/flag

for further details.

Greetings, Martin
Antoniov.
Honored Contributor

Re: Control C option

To update a full group you can refer using asterisk.
For example, to change all user of group [100] you can write
UAF>MODIFY [100,*]/FLAG=DISCTLY

@Antoniov

Antonio Maria Vigliotti
Jan van den Ende
Honored Contributor

Re: Control C option


Art,

During DCL execution CONTROL-C and CONTROL-C are equsl

If you DON'T want to block the users permanently, but ONLY when in that menu, you can
$ SET NOCONTROL=Y,
and later on free them again with
$SET CONTROL=Y

This even gives you control over what action you might wish to be taken should they still try it:

$ ON CONTROL-Y THEN

Success!!

Jan

Don't rust yours pelled jacker to fine doll missed aches.
Jan van den Ende
Honored Contributor

Re: Control C option

Sorry, typo

should of course be: CONTROL-C & CONTROL-Y treated equal.

Jan
Don't rust yours pelled jacker to fine doll missed aches.
Wim Van den Wyngaert
Honored Contributor

Re: Control C option

Note that putting a user in captive mode will have other influences too :
check help or security doc before using it.
Wim
Antoniov.
Honored Contributor

Re: Control C option

Hi,
as posted by Jan you can change dinamically the control.
I have some user can operate in privilegiate mode (as system) under a menu control. So I disabled CTRLY in their account (as previous explained) and inside a DCL procedure I enable Ctrl+C (and Ctrl+Y) to stop running.
You can inquire state of control, see below:
$ CTRL=F$ENVIRONMENT("CONTROL") !Store state
$ ON CONTROL_Y THEN GOTO INTERRUPTED
$ SET CONTROL !Enable all controls
[...] blah blah blah [..]
$ IF F$LOCATE("Y",CTRL).LT.F$LENGHT(CTRL) THEN SET CONTROL

@Antoniov

Antonio Maria Vigliotti