Valid HTML 4.01!

OMVS Utilities HTML readme file.
1. Overview of utilities
2. Release Notes
3. Quick Reference
4. More detailed notes on each utility
5. Sample JCL used to obtain input data

1. Overview of utilities

To report and manage the HFS file system used by OMVS aka USS by producing offline reports and script on a PC from the IRRHFSU unload.
2. Release Notes

Release 0.03 build 1002 dated 4th April 2007

A couple general html formatting improvements which have been applied to all html reports.

Release 0.02 dated 1st May 2006

OMVS08 added to enable reporting based on an ID. Also, code has been added to OMVS01 through OMVS08 to warn if duplicate root directories are found. This can occur quite easiy as the IRRHFSU unload program appends its output to the destination dataset.

Release 0.01 dated 17th April 2006

Initial release.


3. Quick Reference


UtilityKey Key words
OMVS01scriptReport on ACLs
OMVS02Directory information
OMVS03Orphaned records
OMVS04APF authorised
OMVS05Records with 's' bit set
OMVS06Summary information
OMVS07Files with other write bit set
OMVS08Search on specified ID


4. More detailed notes on each utility

Here are more detailed notes on each utility including a rating for each where the ratings used are as follows:

***General and useful utility recommended for general use
**Specialised utility for a particular requirement
*Either very specialised or very unusual requirement

i.e. investigate the *** ones, if you see a ** one that you can relate to then fine, but tend to ignore the * ones.

Note: where runtime command line parameters are required the syntax can be displayed by simply executing the utility without any parameters.

UtilityKeyDescriptionRating
OMVS01 Generate an html report showing all access control entries (i.e. 0901 records). Also generates script (txt file) which would re-apply those ACLs should this be required, such as after re-sizing the HFS DATASET. ***
OMVS02 Generate an html report showing all directories complete with extended attribute and audit attribute detail. The idea is to give an overview of the directory structure although it does tend to be quite a lot of detail. **
OMVS03 Generate an html report showing all orphaned files and directories. Again this report shows extended attribute and audit attribute detail. ***
OMVS04 Generate an html report showing all APF authorised files. Again this report shows extended attribute and audit attribute detail. ***
OMVS05 Generate an html report showing all files and directories with either a set-uid, set-gid or sticky bit set. Again this report shows extended attribute and audit attribute detail. ***
OMVS06 Generate an html report showing a summary of the ownership of HFS files and directories. In addition to using the IRRHFSU unload this report also requires the IRRDBU00 unload. It first builds a table of UIDs and GIDs owning files and directories, counting the numbers. Then it enumerates every RACF User and Group with matching UID or GID. If nothing appears in both the Name column and the Description column, this indicates orphaned files and directories. ***
OMVS07 Generate an html report showing all files with the 'other' write bit set. Again this report shows extended attribute and audit attribute detail. ***
OMVS08 Generate an html report showing all records with the specified ID as owner or on an ACL. Again this report shows extended attribute and audit attribute detail. ***


5. Sample JCL used to obtain input data

Sample JCL to generate the HFS unload and direct the output into a DATASET.

//IRRHFSU JOB ' ','NP',CLASS=A,MSGCLASS=H,
// NOTIFY=&SYSUID
//*******************************************
//* DELETE DATASET
//*******************************************
//STEP1 EXEC PGM=IEFBR14
//DELDD DD DSN=$MYUSERID$.HFS.FLATFILE,SPACE=(TRK,1),
// DISP=(MOD,DELETE,DELETE),UNIT=3390
//*******************************************
//* ALLOCATE DATASET
//*******************************************
//STEP2 EXEC PGM=IEFBR14
//ALLOC DD DSN=$MYUSERID$.HFS.FLATFILE,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(70,10),RLSE),
// DCB=(RECFM=VB,LRECL=4096,BLKSIZE=6144)
//*******************************************
//* RUN AN OE PROGRAM FROM BATCH
//*
//*******************************************
//STEP3 EXEC PGM=IEFBR14
//STDOUT DD PATH='/u/$myuserid$/irrhfsu.out',
// PATHOPTS=(OCREAT,OWRONLY),
// PATHMODE=SIRWXU,
// PATHDISP=(DELETE)
//STDERR DD PATH='/u/$myuserid$/irrhfsu.err',
// PATHOPTS=(OCREAT,OWRONLY),
// PATHMODE=SIRWXU,
// PATHDISP=(DELETE)
//*
//STEP4 EXEC PGM=BPXBATCH,
// PARM='PGM /u/$myuserid$/irrhfsu -f //$MYUSERID$.HFS.FLATFILE /'
//STDOUT DD PATH='/u/$myuserid$/irrhfsu.out',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//STDERR DD PATH='/u/$myuserid$/irrhfsu.err',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//*
//STEP5 EXEC PGM=IKJEFT01,DYNAMNBR=300,COND=EVEN
//SYSTSPRT DD SYSOUT=*
//HFSOUT DD PATH='/u/$myuserid$/irrhfsu.out'
//HFSERR DD PATH='/u/$myuserid$/irrhfsu.err'
//STDOUTL DD SYSOUT=*,DCB=(RECFM=VB,LRECL=133,BLKSIZE=137)
//STDERRL DD SYSOUT=*,DCB=(RECFM=VB,LRECL=133,BLKSIZE=137)
//SYSPRINT DD SYSOUT=*
//SYSTSIN DD *
ocopy indd(HFSOUT) outdd(STDOUTL)
ocopy indd(HFSERR) outdd(STDERRL)
/*



End-of-file.