Article View: vmsnet.internals
Article #262Re: Booting MicroVAX 3400 using non-system UIC
From: robbie
Date: Wed, 02 Sep 1992 01:21
Date: Wed, 02 Sep 1992 01:21
69 lines
3374 bytes
3374 bytes
In article <01GO8KCZ8CCY001SUR@VAXF.COLORADO.EDU>, DWING@UH01.Colorado.EDU (Dan Wing) writes:
> Eric J. Seeger, eseeger@ssdc.sterling.com, writes:
>
>>Is there a way to boot up a MicroVAX 3400 running VMS V5.4 so that a
>>site specific definition can reside in a different UIC group instead of
>>the system accounts group. More specifically, I am trying to define
>>several specific logicals that I want to have reside in a specific
>>accounts group table, and I want to define them during the startup procedure.
>>What I am finding is that even if I 'set uic' to the account I want them
>>to reside in they are still ending up under the system account during startup.
>
> ... Now, even if you pointed it to the correct logical name
> table, or specified the table's name with DEFINE/TABLE, it wouldn't work
> because the table doesn't exist.
>
There is an easier way to create the group logical name table at startup.
Try the following...
RUN /UIC=[<UIC in group>] SYS$SYSTEM:LOGINOUT.EXE
The group logical name table is created by the first run process in that
group. This does a process creation which does very little other than
create the logical name table. The UIC doesn't even have to be a valid
account, as long as it is in the correct group.
eg. JOE_SMITH has a UIC [LAZY_BUMS,JOE_SMITH] (or [3010,253]).
To create his group logical name table, do a RUN/UIC=[LAZY_BUMS] ...
or RUN/UIC=[3010] ...
The group logical name table can be accessed via
DEFINE/TABLE=LNM$GROUP_003010
The following is some code to determine from a NAME type UIC which group
table to use (i.e. How to get from [LAZY_BUMS] to LNM$GROUP_003010)
$!
$!***************************************************************************
$Get_Group_LNM_String: SUBROUTINE
$!***************************************************************************
$!
$! P1 == Specified Group
$!
$ SET NOON
$!
$ GroupString == "LNM$GROUP_000000"
$ UICIdent = F$IDENTIFIER("''P1'","NAME_TO_NUMBER")
$ UICString = F$FAO("!%U",UICIdent) - "[" - "]"
$ UICString = F$EXTRACT(0,F$LOCATE(",",UICString),UICString)
$ StringLen = F$LENGTH(GroupString) - F$LENGTH(UICString)
$ GroupString == "''F$EXTRACT(0,StringLen,GroupString)'''UICString'"
$!
$ EXIT
$ ENDSUBROUTINE
The subroutine could be called and logicals defined as follows:
$ CALL Get_Group_LNM_String "LAZY_BUMS"
$ DefLazyBums := "DEFINE/TABLE=''GroupString'"
$ DefLazyBums DECW$USER_DEFAULTS SYS$LOGIN:, LAZYBUMS_DATA:[DECW$DEFAULTS]
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rob Spencer, BHP Information Technology | Sorry, but my .sig
Newcastle, Australia Voice: +61 49 40 1673 | is on .sig leave!
Bits: robbie@winkle.bhpese.oz.au |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Technical Details
Message-ID:
<1992Sep2.112130.252@winkle.bhpese.oz.au>Path:
arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!bruce.cs.monash.edu.au!merlin!cerberus!winkle.bhpese.oz.au!robbieReferences:
<01GO8KCZ8CCY001SUR@VAXF.COLORADO.EDU>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!bruce.cs.monash.edu.au!merlin!cerberus!winkle.bhpese.oz.au!robbie From: robbie@winkle.bhpese.oz.au Newsgroups: vmsnet.internals Subject: Re: Booting MicroVAX 3400 using non-system UIC Message-ID: <1992Sep2.112130.252@winkle.bhpese.oz.au> Date: 2 Sep 92 11:21:30 +1000 References: <01GO8KCZ8CCY001SUR@VAXF.COLORADO.EDU> Organization: BHP Information Technology, Newcastle Lines: 69