1752794 Members
6081 Online
108789 Solutions
New Discussion юеВ

Re: ACL_SCRUB for Alpha

 
SOLVED
Go to solution
Zeni B. Schleter
Regular Advisor

ACL_SCRUB for Alpha

We have used the ACL_SCRUB from the freeware distribution for many years on Vaxen. I tried looking for an implementation of it for Alphas. It has been a useful cleanup tool for removing ACEs that do not have proper identifiers on the system and generating a output file that can be searched for files with UICs that no longer belong to valid users. Perhaps there is a better way of cleaning up ownerships and ACLs in this century ?

TIA
27 REPLIES 27
Wim Van den Wyngaert
Honored Contributor

Re: ACL_SCRUB for Alpha

I don't know acl_scrub but you can check if dfu of the freeware cd does the same.
DFU SEARCH dev /ACE=identifier
will search for files having an acl that mention "identifier".

Wim
Wim
Robert Gezelter
Honored Contributor

Re: ACL_SCRUB for Alpha

Zeni,

If you have sources, you should be able to recompile it for Alpha (and Itanium). If you do not have the sources, you may try be able to use the binary translator to run it on the later architectures.

- Bob Gezelter, http://www.rlgsc.com
Zeni B. Schleter
Regular Advisor

Re: ACL_SCRUB for Alpha

The DFU requires that you know what you are looking for. I could (and may) just set up a procedure to output Dir/SEC and the look for %8 or the like to indicate ACEs with missing identifiers. I would still have to setup something to remove them - carefully.

I tried rebuilding the C files. The Get_header had a lot of mismatch types and pointers. Sorry to say I have avoided the C language with a true FORTRAN bias. Sounds like this will be a useful exercise for me.
Robert Gezelter
Honored Contributor

Re: ACL_SCRUB for Alpha

Zeni,

Before setting out to work with an unfamiliar source base, try running the binary image through the translator.

As I noted in my recent OpenVMS Technical Journal paper entitled "Strategies for Migrating from Alpha and VAX systems to HP Integrity Serves on OpenVMS", (see http://www.rlgsc.com/publications/vmstechjournal/migrationstrategies.html ), the translator is an excellent strategic tool for infrequently used utilities.

It is worth noting that from the advent of Alpha (circa 1992) through OpenVMS 7.3-2 in December 2003 (see the history of OpenVMS releases at http://h71000.www7.hp.com/openvms/openvms_supportchart.html ), MONITOR on Alpha was a binary translation of the VAX image.

As noted in my paper, I have used the binary translator both on VAX and Alpha binaries, with reasonable results.

- Bob Gezelter, http://www.rlgsc.com
Zeni B. Schleter
Regular Advisor

Re: ACL_SCRUB for Alpha

It appears that VEST is not available to us. In looking through the "Migratin of an Application..." manual , I noticed the CC/STANDARD=VAX that does allow the alpha to produce an object file for those with the problems. There is still a macro that is not compiling. It is complaining that
% AMAC-E-GENERROR, generated ERROR: 0 $TRAN requires symbols defined in ARCH_DEFS.MAR

Sys$library: contains ARCH_DEFS.MAR and ARCH_DEFS.H . Helpful but I am equally weak in macro. I have plenty of manuals to look through to see how to get the compiler to incorporate the definitions.

Thanks for looking.
Hoff
Honored Contributor

Re: ACL_SCRUB for Alpha

ACL_SCRUB is apparently based on some code from Joe Meadows and Andrew Potter.

This looks to be the source code...

http://mvb.saic.com/freeware/vax89b2/potter/

And for completeness, there's a DCL tool in the Freeware 000TOOLS directory that can be used to reset the BACKUP saveset attributes after you haul that file over via FTP, after FTP stomps on the saveset file attributes.

Unpack the saveset, and have a look at the code.

As for cleaning up, my preference is to not delete identifiers and not to delete usernames. Disuser the usernames, yes.
Robert Gezelter
Honored Contributor

Re: ACL_SCRUB for Alpha

Zeni,

VEST is available as a download kit from the HP OpenVMS www site. It has not, to the best of my recollection, been part of the standard distribution for some time.

I would, however, also agree with Hoff's comment about deletions, to wit: delete identifiers with care.

- Bob Gezelter, http://www.rlgsc.com
Jan van den Ende
Honored Contributor

Re: ACL_SCRUB for Alpha

Bob wrote:
>>>
I would, however, also agree with Hoff's comment about deletions, to wit: delete identifiers with care.
<<<

Oh yeah!
And all the more so, if you allow identifiers to be created with the default value!!
Next time you add an identifier, chances are that the value is used again, and... it _IS_ the value that is important, the name is just for human convenience.

WE have a liitle algorithm to derive an identifier value from the first 4 letters of the identifier name, (with the last 2 hex digits free, enabling choice to to differentiate the rest of the name)
At least we have a fairly decent way of knowing what an identifier is ( or WAS !!!) for.

Bottom line: Better NOT delete identifiers.

hth

Proost.

Have one on me.

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

Re: ACL_SCRUB for Alpha


>>>% AMAC-E-GENERROR, generated ERROR: 0 $TRAN requires symbols defined in ARCH_DEFS.MAR<<<

>>>Sys$library: contains ARCH_DEFS.MAR and ARCH_DEFS.H<<<

You're dealing with Macro32, not C code.

FWIW, the CC/STANDARD=VAXC stuff sets C to be far more tolerant of the ancient C coding constructs, and the various ancient C coding errors and typical latent bugs that could be permitted by the VAX C compiler. It's a bug compatibility mode for the source input.

As for fixing the error in the Macro32 code...

$ MACRO -
/OBJECT=SYS$LOGIN:name.OBJ - SYS$SHARE:ARCH_DEFS.MAR+SYS$LOGIN:name.MAR

In the above, "name" is the name of the state table source file, and the object file.

There are versions of ARCH_DEFS around.

There should be an example of this basic DCL command sequence and a full Macro32 source code example of using the lib$tparse and lib$table_parse stuff over in the GNM Freeware package.

http://h71000.www7.hp.com/freeware/freeware80/gnm/