1753810 Members
8095 Online
108805 Solutions
New Discussion юеВ

permission setting

 
shashi kanth
Super Advisor

permission setting

I have mounted a fiber channel LUN as a system user

as a system user

$init/structure=5 $1$dga201 oracle
$mount/system $1$dga201 oracle

I have issued the mount command on all the nodes which are part of cluster.

I have a user with name "oracle"

if i login as a "oracle" user, and if i create a directory as a "oracle" user, then the owner permission on that directory by default is setting as a "system" , not "oracle". I want as a "oracle".

create/direc $1$dga201:[temp]

dir/sec temp;1
TEMP.DIR;1 [SYSTEM] (RWE,RWE,RE,E)


i want , it should show as "oracle"

please anyone tell me how to do this ?



3 REPLIES 3
Jan van den Ende
Honored Contributor

Re: permission setting

Shashi,


With anuy VMS wuestion, it is always useful to try
$ HELP

I you had done

HELP VREATE/DIR

then you would havo found it yourself, and saved some time:

$ CREATE/DIR /OWN=ORACLE

Noe. the dir is there already, do a

$ SET FILE/OWN=ORACLE

Enjoy VMS!!

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.
Robert Gezelter
Honored Contributor

Re: permission setting

Shashi,

I concur with Jan:

$ CREATE/DIRECTORY/OWN=[XXX] [YYY]

for already created directories:

$ SET FILE/OWNER=[xxx] YYY.DIR

Please review the HELP text for details.

- Bob Gezelter, http://www.rlgsc.com
John Gillings
Honored Contributor

Re: permission setting

shashi,

Lookup the "Flowchart of File Creation" in the "Guide to OpenVMS System Security" to understand how ownership and security of files are decided. It's quite complex.

The "problem" here is your oracle user has privilege. When a file is created, without explicitly specifying the ownership, there are only 2 possibilities - 1) the creator, and 2) the owner of the enclosing directory. The latter will only happen if the process has sufficient privilege (SYSPRV, GRPPRV or ownership privileges via an ACL, resource or subsystem identifier).

In your case, the top level directory is owned by SYSTEM. Your user has SYSPRV privilege, so therefore the default ownership is the owner of the directory, thus SYSTEM.

As Jan and Robert have suggested, specifying an explicit CREATE/OWNER=ORACLE will work (or SET FILE/OWNER to change the ownership of an existing file). Another possibility is to remove SYSPRV (but that assumes the account has write access other than via SYSPRV).

"Normal" practice is for volumes to be owned by SYSTEM and to deny non-privileged access to the [000000] directory. Top level directories are created by SYSTEM, specifying the ownership and access as required. Typically non-privileged users only have "E" access to 000000.DIR, and are therefore only able to lookup files whos names are known (no wildcard lookups allowed).

On the other hand, if this disk is purely for the use of your Oracle user, it may make sense to set the ownership of the volume:

$ INIT/STRUCTURE=5/OWNER=ORACLE $1$DGA201 ORACLE

or
$ SET VOLUME/OWNER=ORACLE $1$DGA201

A crucible of informative mistakes