[comp.os.vms] Group Logicals at Startup

mdeleo@lynx.northeastern.EDU (07/07/88)

  
    I was wondering if anyone out there knows who to set-up a group
logical "automatically" so that it has the following parameters:
	[kernal] [shareable,group]
	[protection=(RWED,R,R,)] [Owner=[5,0]]
   		-->>Name::: (LNM$Group_000005)
	I can get it to put in everything but the [kernal].
    Please reply to info-vax or send replys to address below.
		
		Thanks in advance.
		Michael Deleo
		 mdeleo@lynx.northeastern.edu
		 acm_md@nuhub.northeastern.edu

Disclaim:  Nothing I say means anything to anyone ...
	    Especially Norhteastern Univ. nor my employer Mobil Oil.
============================================================================

morrow@stsci.EDU (Andy Morrow) (07/13/88)

From article <memo.36235@lynx.northeastern.edu>, by mdeleo@lynx.northeastern.EDU:
> 
>   
>     I was wondering if anyone out there knows who to set-up a group
> logical "automatically" so that it has the following parameters:
> 	[kernal] [shareable,group]
> 	[protection=(RWED,R,R,)] [Owner=[5,0]]
>    		-->>Name::: (LNM$Group_000005)
> 	I can get it to put in everything but the [kernal].
>     Please reply to info-vax or send replys to address below.
> 		
> 		Thanks in advance.
> 		Michael Deleo
> 		 mdeleo@lynx.northeastern.edu
> 		 acm_md@nuhub.northeastern.edu
> 
> Disclaim:  Nothing I say means anything to anyone ...
> 	    Especially Norhteastern Univ. nor my employer Mobil Oil.

> ===========================================================================

In VMS V3.x, I maintained an application that, at system startup, would create
the appropriately named exec mode group table and define its group logicals all
in the system startup command file.  This stopped working with VMS 4.x.   After
booting our VAX a half dozen times one night, I finally realized what happens
in this brave new world.  The first job created that is in a particular group
modifies the system forever by causing the system to create the kernel mode,
noalias group table for that job.  

You can easily demonstrate this to yourself by logging in on an account in one
group and typing $show logical lnm$group_*/table=lnm$system_directory
and then logging in on an account in a group that no jobs have previously
existed for and doing the show again.  The lists will be different and every
subsequent $show will include the new group, for as along as the system is up.

For system startup group logicals, I have found the easiest way to get things
working sensibly is to have the system startup file do a $submit/username=
for an account that is in the desired group and turns on grpnam.

I haven't looked at the fiche to see how to create other kernel mode tables
since I haven't had other problems like this for non-group tables and since
I have a high level solution that works (a changing VMS eventually will 
exact revenge on low level fixes).

Hope this helps.

						andy morrow

morrow@stsci.edu

gil@limbic.UUCP (Gil Kloepfer Jr.) (07/14/88)

In article <375@stsci> morrow@stsci.EDU (Andy Morrow) writes:
|>From article <memo.36235@lynx.northeastern.edu>, by mdeleo@lynx.northeastern.EDU:
|>>     I was wondering if anyone out there knows who to set-up a group
|>> logical "automatically" so that it has the following parameters:
|>> 	[kernal] [shareable,group]
|>> 	[protection=(RWED,R,R,)] [Owner=[5,0]]
|>>    		-->>Name::: (LNM$Group_000005)
|>> 	I can get it to put in everything but the [kernal].
|>> 		Michael Deleo
|>> 		 mdeleo@lynx.northeastern.edu
|>> 		 acm_md@nuhub.northeastern.edu

The way I have seen best to define group logicals on bootup is to make a
command procedure with a lot of $ DEFINE/GROUP's in it, then run it as a
detached process, with /UIC=[xxx,yyy] where xxx is the group ID you wish
to define group logicals for, like:

   $ RUN/DETACH/UIC=[xxx,yyy]/INPUT=your-command-file SYS$SYSTEM:LOGINOUT

	(please no flames for errors in syntax, I have no orange binders
	 in front of me on this one! :-)

The next problem is getting [Kernel] set on your logical name.  The only
way of doing this that I know of is to make a small program which calls
the define logical (I don't remember the name, you can look it up in the
system services manual) service with the kernel mode bit set.  DEC used
this in an (unnamed) software package as a license "protection" scheme.
I just was wondering how to get rid of the *&^% logical name at the
time!  The program you use to do this is relatively simple.  Anyhow, you
would run this program which defines your kernel-mode logical from the
command file mentioned above.

Hope this helps!

+------------------------------------+----------------------------------------+
| Gil Kloepfer, Jr.                  | Net-Address:                           |
| ICUS Software Systems              | {boulder,talcott}!icus!limbic!gil      |
| P.O. Box 1                         | Voice-net: (516) 968-6860              |
| Islip Terrace, New York  11752     | Othernet: gil@limbic.UUCP              |
+------------------------------------+----------------------------------------+