[Info-vax] Logical Name - remove with deassign and executive mode

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Thu Oct 21 12:00:39 EDT 2021


On 2021-10-21 14:44:30 +0000, HCorte said:

> After creating a logical name "olmteste"
> ...
> does exists a default command procedure or file that can have some 
> personalized rules for deassign remove of logical names?

Logical names can translate from any table in the default list of 
logical name tables and in the table order specified, and translated 
from modes in ascending order of least to most privilege in each table.

First translation wins, the rest get ignored.

Creation and deletion of privileged-mode logical names involves 
privileges (CMEXEC, CMKRNL, etc), and involves explicit specification 
of mode.

If the logical name is not in the default searchlist of tables, the 
table of residence will need be explicitly specified.

Logical name translations can be restricted to trusted modes by 
explicit request (usually for security), or by operating in certain 
trusted contexts (for security), or by selecting a list of tables to 
translate from.  This because the first translation wins, which can be 
entirely untrusted and least-privileged translation if not otherwise 
restricted during the logical name translation request.

Logical name tables can be protected by protection 
(S:RWED,O:RWED,G:RWED,W:RWED) bitmask and by access control list. The 
tables are considered security objects, for the purpose of OpenVMS 
security.

Logical name translations have a chaotic little feature of ignoring 
leading underscores in various translation contexts, sort of. This was 
supposedly a means to restrict translations to physical devices (which 
can have a leading underscore), but it doesn't work that way now. The 
overhaul at VAX/VMS V4.0 didn't fully implement what earlier and 
simpler logical name implementations had provided here: in earlier 
versions, a leading underscore had stopped translations. Now that's 
sorta-kinda the concealed and terminate options on the logical name 
definition.

This whole area all works rather similar to the logical-name based 
searchlist logical names used for the system disk too, with the added 
wrinkle of needing to create directories in each translation lest 
errors arise for some operations. You read from all translations, you 
write to the first translation. (This is how inexperienced cluster 
system administrators can fill their cluster roots with files too, 
while intending to share the files from within the common root.)  To 
get these to work, parallel the translation options on SYS$SYSROOT and 
related translations, as the correct operation of searchlist logical 
names are entirely dependent on the specified translation options.

Logical names are a bad means of providing configuration information to 
apps past temporary and transient device and file redirections, not 
that OpenVMS has looked at this area since VAX/VMS V4.0 or so, and not 
that OpenVMS has really looked at app-level context APIs and features 
for that matter. Logical names for app management purposes past device 
and file redirections do have virtue of being simple for the developer 
to start using and harder to properly implement and far harder quit, 
which is why we've been enjoying bad app configuration management 
interfaces ~everywhere on OpenVMS for decades. Once you see how awful 
logical names really are as compared with purpose-built app 
configuration APIs, seeing the logical names used everywhere is... 
frustrating.

I'd suggest having a look at the OpenVMS User's Manual and the OpenVMS 
Programming Concepts manuals for some background in the lower-level 
platform features. The manuals are scattershot around coverage of 
specific topic areas, such as logical names; "recipe" or "cookbook" 
stuff from that era was usually provided over in the support database, 
and that material was slowly or variously never incorporated into the 
documentation information design.



-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list