home *** CD-ROM | disk | FTP | other *** search
- Path: 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
-
- 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 |
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-