[HECnet] Small trouble with RSX11M 4.6

Johnny Billquist bqt at softjar.se
Thu Jul 12 15:57:43 PDT 2012


On 2012-07-12 16:18, Jordi Guillaumes i Pons wrote:

El 11/07/2012, a les 23:29, Johnny Billquist va escriure:


1) I get no "REMove" task built. I've tried a SYSGEN3 and it doesn't get built either. I wonder if that task is absent from the "standard function" system and I will have to do a fully customized SYSGEN.

REMove is not a task. It's a built-in command in MCR.

OK. Then for some reason REM is not recognized as a command, but REMOVE (full word) is... The installation scripts execute it as REM and fail...

It might be that REM is fooling you.
If you just give the command REM, you'll get:
REM -- Task not in system

But that is the message you get for trying to remove any task that does not exist, including the empty task name.

REMOVE (the full word) might be caught by DCL or TDX, or some other layer.
(I would guess DCL, if you get a prompt when you type it...)

2) Even being logged on a privileged account I can't write anything under [1,54] unless I SET /UIC first. I get a privilege violation error when I try to PIP something if I have any other default directory. That   causes installation scripts to fail (I've tried to install F77 and it aborts when it tries to copy the OTS and the compiler task. My SYSUID is set to [1,54]. I guess I'm missing something but have no clue about what is it.

That is because when you do a SET /UIC in 11M on a privileged terminal, it always changes both your protection uic and default uic.
(...)
I'll try and write something up later, and post here if people really want to know...


Well, I want to know for sure :) I'm trying to apply my VMS knowledge to RSX, and it is obviously not the same...

True. They are not the same, but they are more similar than you might realize. It's just that there is no equivalent to SET /UIC in VMS...

Ok. To make a short attempt at explaining things in RSX then...
There are several different and unrelated aspects to privileges in RSX.
First of all, we have the terminal. Every terminal have a privilege attribute. Any terminal can turn off this attribute, but only a privileged terminal can turn it on. (And yes, you can turn it on for another other terminal as well, in that case.)

The terminal privilege is used to decide if you are allowed to execute various MCR commands and other interactive aspects. Some MCR commands are not allowed at all for non-privileged terminals, while others behave different depending on the privilege.

The next thing is tasks. Tasks also have a privilege bit. This determines if various system calls are allowed or not. All kind of system calls that affects the system needs the task to be privileged.

The third thing is the UIC. This affects the file access rights. File access rights come in four groups. SYSTEM, OWNER, GROUP and WORLD. Rights to access a file is based on your UIC, which then selects which protection mask to use. If your group number in the UIC is 10 or less (octal), you access based on the SYSTEM mask. The other three masks should be obvious.
This is the protection UIC. Not to be confused with the defaut UIC.

The default UIC is only used to tell what your "default directory" is.

That is the whole story, in short. There are however, some implications from this.
1) When a privileged terminal do a SET /UIC, *both* the protection UIC and the default UIC is changed.
2) Non-privileged terminals are allowed to run any installed program. It is the responsibility of the program to disallow or restrict operations if invoked by a non-privileged terminal (this is the "RUN TASK").
3) Non-privileged users can not install programs permanently. No matter if the task to install is privileged or not.
4) INS (the task that handles install) allows non-privileged users to install, run, and automatically remove non-privileged programs, but not privileged programs (this is what happens when you type "RUN <filename>")

If I can overcome these problems I plan to publish the installation log to help anyone wanting to do the same...

Excellent!

It's done now:

http://ancientbits.blogspot.com.es/2012/07/installing-rsx-11m-46-from-scratch-part.html
http://ancientbits.blogspot.com.es/2012/07/installing-rsx-11m-46-from-scratch-part_12.html

I will do a part 3 explaining how to add HELP support, how to add user accounts and how to configure the STARTUP.CMD to get a barebones, working RSX11M system... Any suggestions and corrections will be much appreciated...

Maybe some other day... Too much to do.

	Johnny



More information about the Hecnet-list mailing list