Denis

I think Radoslaw's point 2 is what you should check.

SYS1.TCPPARMS is one of the options for accessing a "resolver configuration
file" and SYS1.TCPIP.HOSTS.SITEINFO is one of the options for accessing
"local host tables". These files are normally accessed by an application by
way of the "resolver" address space. I don't believe this standard mode of
access requires RACF authorisation. If it did, access to the "resolver"
functions would be rather troublesome, leading to just the sort of data set
access problems you describe.

If indeed, use of the "resolver" functions does require "read" access to the
"resolver configuration file" and, assuming your choice for resolving domain
names to IP addresses and IP addresses to domain names relies on them, to
"local host tables", then your RACF folk are going to have to permit "read"
access somehow. Very strictly, a Sockets program using "resolver" functions
will need "read" access to a "resolver configuration file" and the relevant
"resolver" calls will need "read" access to "local host tables".

What experience do others have regarding RACF and access to files relating
to using the "resolver" function in Socket programs written in COBOL or
otherwise? It's worth knowing these days that "resolver" functions are
handled by a separate address space, the RESOLVER address space.

Just to be sure, you should check what access the application program is
making to these data sets. If there is no obvious access to specifically
these data sets, it may be a "bug" of some sort in the COBOL Sockets
support, specifically for "resolver" calls such as GETHOSTBYNAME. If, on the
other hand, the application programmers really are trying to access these
data sets without using the "resolver" calls, then there may well be a flaw
in their design.

If there is no flaw in their design - or - access to "resolver" functions
really does need the "read" access I mentioned above, you will need to
pursue the RACF access techniques which - I think (I'm a RACF novice and
intend to stay that way) - the other posters are suggesting.

Actually, if all Sockets programs require "read" access to
"resolver"-related files - and - if your PERMIT statement means what I think
it may mean, you should generalise your solution, perhaps by adopting a
solution like that proposed by Rob Scott so that you establish a class for
all Sockets applications - which will almost certainly always need access to
"resolver"-related files. You should also ensure that you provide such a
PERMIT statement for *all* "resolver"-related files. Thus, for example you
will also need to cover  SYS1.TCPIP.HOSTS.ADDRINFO and, assuming your
"high-level-qualifier" is "SYS1.TCPIP",  SYS1.TCPIP.ETC.PROTO,
SYS1.TCPIP.ETC.SERVICES and SYS1.TCPIP.STANDARD.TCPXLBIN. You may need the
assistance of whomever in your installation understands your use of the
"resolver" functions to be sure you cover all relevant files.

Chris Mason

----- Original Message ----- 
From: "Denis Gäbler" <[EMAIL PROTECTED]>
Newsgroups: bit.listserv.ibm-main
To: <[email protected]>
Sent: Wednesday, 22 November, 2006 2:15 PM
Subject: TCPIP Racf Protection for application?


> Hi,
>
>  there is a COBOL application which is supposed to do TCP/IP calls
nowadays. When starting the application (TCPIPAPP) it requests READ access
to the following datasets:
>  SYS1.TCPIP.HOSTS.SITEINFO
>  SYS1.TCPPARMS
>  The application is started with the callers Userid.
>
>  RACF people don't like to grant generic READ permission to all users. Is
there any other solution?
>  Could something like that be used to only allow that specific program
access to TCP/IP?
>  PERMIT 'SYS1.TCPPARMS' CLASS(DATASET) ID(*) ACCESS(READ)
WHEN(PROGRAM(TCPIPAPP))
>
>  Are there better solutions, ideas for that?
>
>  Thanks, Denis.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to