- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: A tool to delete all Pathworks ACEs ?
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 07:39 PM
05-31-2009 07:39 PM
Running CIFS V1.1-ECO1 PS006 on OpenVMS IA64 V8.3-1H1.
We've discovered that CIFS is tripping up on Pathworks ACEs: if the file has a Pathworks ACE, the Windows client can't delete or rename the file.
I've identified 13,000 files with Pathworks ACEs and now I'm wondering how to remove those ACEs. The DCL command
$ SET SECURITY/ACL=(ace)/DELETE
doesn't work because the Pathworks ACEs are too long for DCL's command buffer.
Does anyone know of a tool which can delete these ACEs?
Thanks,
Jeremy Begg
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 08:05 PM
05-31-2009 08:05 PM
Re: A tool to delete all Pathworks ACEs ?
ACEs without doing too much damage. UnZip
(6.0) has a "-X" option to tell it to restore
ACLs. The default is not to do it. You may
lose the ownership UIC, too, however. As the
"-h" help says:
-X restore owner/ACL protection info
Testing could be educational.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 08:07 PM
05-31-2009 08:07 PM
Re: A tool to delete all Pathworks ACEs ?
HELP BACKUP /INTERCHANGE says:
o Access control lists are not copied.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 08:44 PM
05-31-2009 08:44 PM
Re: A tool to delete all Pathworks ACEs ?
doesn't work because the Pathworks ACEs are too long for DCL's command buffer.
Longer than 4096 bytes ? Are you using extended DCL ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 08:45 PM
05-31-2009 08:45 PM
Re: A tool to delete all Pathworks ACEs ?
Thanks for the suggestions but neither is suitable -- I need to delete the Pathworks ACEs but not any of the other ACEs on the files, and preferably without changing the file ownership or UIC-based protection, either.
Regards,
Jeremy Begg
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 08:46 PM
05-31-2009 08:46 PM
Re: A tool to delete all Pathworks ACEs ?
When you say the DCL buffer is too small, is that true if you split the command across several continuation lines (i.e. with "-" at the end of the line)?
Can you show use what a pathworks ACL looks like? I.e. the output of
$ directory/security pathworks_file
If it is ok to delete all the whole ACL, instead of just the pathworks related ACEs, then the following should work.
$ set secruity/acl/delete
If there are other ACEs you don't want to delete, than that won't be a good solution.
Or if all the "extra" ACEs are the same, then a combination of a default ACE on the destination directory, and backup/interchange will work (as suggested by Steven Schweda). That strips the ACL from the source file and applies any default ACEs from the destination directory, and had the "advantage" of not modifying the creation or modification dates on the files, where set security will update the modification date, and I am not aware of any way to avoid it if set security is used.
The ultimate solution is to write a program, but I think you were trying to avoid that.
Jon
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 08:50 PM
05-31-2009 08:50 PM
Re: A tool to delete all Pathworks ACEs ?
I didn't see your response before I sent mine. So it doesn't seem that my suggestions will work, especially if the files contain ACEs that can't be applied with default ACEs on the target directory.
BTW, backup/interchange can be used with /owner=original, so it doesn't imply that the ownership of the files will have to change.
Jon
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 09:37 PM
05-31-2009 09:37 PM
Re: A tool to delete all Pathworks ACEs ?
D2:[web_advertising]Marketing^_Calendar^_WEB^_ADVERT.xls;1 object of class FILE
Owner: [305,12]
Protection: (System: RWD, Owner: RWD, Group, World)
Access Control List:
(UNKNOWN=%X86,SIZE=%D208,FLAGS=%X0400,ACCESS=%X06900000,DATA=%X00000001,%X000000BC,%X000000BC,%X80140001,%X00000084,
%X000000A0,%X00000000,%X00000014,%X00700002,%X00000004,%X00180000,%X001F01FF,%X00000201,%X05000000,%X00000020,%X00000220,
%X00180000,%X001301BF,%X00000201,%X05000000,%X00000020,%X00000225,%X00240000,%X001F01FF,%X00000501,%X05000000,%X00000015,
%X81001D39,%X433F040C,%X317C0A05,%X00000427,%X00140000,%X001301BF,%X00000101,%X01000000,%X00000000,%X00000501,%X05000000,
%X00000015,%X81001D39,%X433F040C,%X317C0A05,%X00000427,%X00000501,%X05000000,%X00000015,%X81001D39,%X433F040C,%X317C0A05,
%X00000201)
(UNKNOWN=%X80,SIZE=%D46,FLAGS=%X0C00,ACCESS=%X06900000,DATA=%X00000008,%X00000001,%X0000041E,%X00000120,%X00000000,
%X00000000,%X38C50000,%X38C5892E,%X38C5892E,%X00008930)
(IDENTIFIER=[USER1],ACCESS=READ+WRITE+EXECUTE+DELETE)
(IDENTIFIER=[305,12],ACCESS=READ+WRITE+EXECUTE+DELETE)
(IDENTIFIER=WEB_AD_USER,ACCESS=READ)
(IDENTIFIER=PRICES_DEPT_USER,ACCESS=READ)
(IDENTIFIER=STUDIO_USER,ACCESS=READ)
(IDENTIFIER=ADMIN_USER,ACCESS=READ+WRITE+EXECUTE+DELETE+CONTROL)
(IDENTIFIER=WEB_AD_RW,ACCESS=READ+WRITE+EXECUTE+DELETE+CONTROL)
And here is a little command procedure I prepared to delete the Pathworks ACEs:
$ set security D2:[web_advertising]Marketing^_Calendar^_WEB^_ADVERT.xls;1/acl=(-
(UNKNOWN=%X86,SIZE=%D208,FLAGS=%X0400,ACCESS=%X06900000,DATA=%X00000001,%X000000BC,%X000000BC,%X80140001,%X00000084,-
%X000000A0,%X00000000,%X00000014,%X00700002,%X00000004,%X00180000,%X001F01FF,%X00000201,%X05000000,%X00000020,%X00000220,-
%X00180000,%X001301BF,%X00000201,%X05000000,%X00000020,%X00000225,%X00240000,%X001F01FF,%X00000501,%X05000000,%X00000015,-
%X81001D39,%X433F040C,%X317C0A05,%X00000427,%X00140000,%X001301BF,%X00000101,%X01000000,%X00000000,%X00000501,%X05000000,-
%X00000015,%X81001D39,%X433F040C,%X317C0A05,%X00000427,%X00000501,%X05000000,%X00000015,%X81001D39,%X433F040C,%X317C0A05,-
%X00000201),-
(UNKNOWN=%X80,SIZE=%D46,FLAGS=%X0C00,ACCESS=%X06900000,DATA=%X00000008,%X00000001,%X0000041E,%X00000120,%X00000000,-
%X00000000,%X38C50000,%X38C5892E,%X38C5892E,%X00008930))/delete
$ show security D2:[web_advertising]Marketing^_Calendar^_WEB^_ADVERT.xls;1
$ exit
But DCL can't cope:
@x.com
%DCL-W-TKNOVF, command element is too long - shorten
\(UNKNOWN=%X86,SIZE=%D208,FLAGS=%X0400,ACCESS=%X06900000,DATA=%X00000001,%X000000BC,%X000000BC,%X80140001,%X00000084,%X000000A0,%X0
0000000,%X00000014,%X00700002,%X00000004,%X00180000,%X001F01FF,%X00000201,%X05000000,%X00000020,%X00000220,%X00180000,%X001
$
Regards,
Jeremy Begg
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 09:52 PM
05-31-2009 09:52 PM
Re: A tool to delete all Pathworks ACEs ?
Google found this:
http://h71000.www7.hp.com/doc/82final/6543/6543pro_010.html#deleteace
see if that will do what you want.
Jon
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 09:58 PM
05-31-2009 09:58 PM
Re: A tool to delete all Pathworks ACEs ?
With extended DCL, the length of the command line increases from 255 characters to 4096. Using hyphens the command may be extended up
to 8192 characters.
I dont have a box available now, but by enabling extended DCL your procedure may work. Under 8.2+ this can be done at the process level.
Look at help dcl or something like that.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 09:59 PM
05-31-2009 09:59 PM
Re: A tool to delete all Pathworks ACEs ?
However I have a call open to HP about this one and will request they build it for Integrity.
Thanks,
Jeremy Begg
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 10:02 PM
05-31-2009 10:02 PM
Re: A tool to delete all Pathworks ACEs ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 10:10 PM
05-31-2009 10:10 PM
Re: A tool to delete all Pathworks ACEs ?
Looks promising, but it needs another file "modrevdate.h" to build.
Thanks,
Jeremy Begg
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 10:14 PM
05-31-2009 10:14 PM
Re: A tool to delete all Pathworks ACEs ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 10:27 PM
05-31-2009 10:27 PM
Re: A tool to delete all Pathworks ACEs ?
I may be wrong, but I still think there is 255 character limit on each DCL token.
This is on Alpha OpenVMS V8.3
$ help/mess TKNOVF
TKNOVF, command element is too long - shorten
Facility: CLI, Command Language Interpreter (DCL)
Explanation: An element (that is, any string placed between two delimiters)
in the command line exceeds the maximum length of 255 bytes.
User Action: Correct and reenter the command.
David's program is the way to go, once he provides the modrevdate.h file.
Jon
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 10:44 PM
05-31-2009 10:44 PM
Re: A tool to delete all Pathworks ACEs ?
$ HELP SET PROCESS/TOKEN
tells you all about it. (I couldn't find this in any of the VMS 8.x "New Features" or "Release Notes" documentation.)
Unfortunately it still didn't work ...
%SET-E-NOHIDDEN, cannot modify hidden ACEs
Those Pathworks engineers clearly didn't want you messing with their security! :-)
Regards,
Jeremy Begg
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2009 11:59 PM
05-31-2009 11:59 PM
Re: A tool to delete all Pathworks ACEs ?
If you don't care if the modification date is changed, you can probably remove #include and references to the functions that must be provided in modrevdate.h; save_revdate, format_revdate and restore_revdate. I removed the #include modrevdate.h and compiled, and these popped out.
Unless you are in a big hurry, I would wait for David to provide modrevdate.h, unless you really want the revision dates to be updated.
My guess is that you have a much higher probability of getting a response from David before you get an IA64 version of PWRK$DELETEACE.EXE. And David's program has the added benefit of being able to tweak the program to your specific needs.
Otherwise, you could parse the output of directory file, and generate the SET SECURITY command to delete the ACL, and recreate the non-pathworks ones.
From help set security/delete
o The expression /ACL=aces/DELETE=ALL deletes the existing ACL (if any) and create a new ACL with the ACEs specifies on the /ACL qualifier.
Note that "solution" will not be any better than David's program with all the revision date preservation code removed, and it would probably be a lot easier to modify David's code than to write DCL to parse and recreate the correct set security commands needed to delete and recreated the ACL after turning on extended DCL tokens.
Just my opinion,
Jon
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2009 12:36 AM
06-01-2009 12:36 AM
Re: A tool to delete all Pathworks ACEs ?
this is from my rusting bio-memory, and from way back when, but
>>>
Unfortunately it still didn't work ...
%SET-E-NOHIDDEN, cannot modify hidden ACEs
<<<
ISTR that the BYPASS privilege (ooch!) could overcome that.
IF my memory serves me (and you) well...
At least worth a try.
fwiw
Proost.
Have one om me.
jpe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2009 06:03 AM
06-01-2009 06:03 AM
Re: A tool to delete all Pathworks ACEs ?
I light of information on the HP support site, you might want to fixup the is_pathworks_ace() function to more accurately discern the ACEs to eliminate.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2009 06:12 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2009 06:48 AM
06-01-2009 06:48 AM
Re: A tool to delete all Pathworks ACEs ?
SET SECURITY /ACL /DELETE=ALL ddcu:[dir...]*.*.*
seems rather simpler.
And for cleaning up ACLs and expunging stale identifiers in general, the acl_scrub tool that could serve as a starting point:
http://labs.hoffmanlabs.com/node/426
The acl_scrub tool does ODS-2, but could be extended for ODS-5.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2009 08:36 AM
06-01-2009 08:36 AM
Re: A tool to delete all Pathworks ACEs ?
* It ignores any command line
* It prompts for the file name but gives no error no matter what garbage you might type in.
* It then always asks five Y/N questions about which ACEs to delete; again it accepts any garbage.
* It ignores
Obviously not written for VMS originally, but on what OS is this an acceptable design?
With that all said, if you put the below commands in a .COM file, and call that .COM file from another, with a target file as the P1 parameter each time, it should work.
$ DEFINE /USER TARGET_FILE 'P1'
$ MCR PWRK$DELETEACE
TARGET_FILE
Y
Y
Y
Y
Y
x
$ EXIT
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2009 10:31 AM
06-01-2009 10:31 AM
Re: A tool to delete all Pathworks ACEs ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2009 01:36 PM
06-01-2009 01:36 PM
Re: A tool to delete all Pathworks ACEs ?
I think Mike's on the right track. I seem to remember some tricks with SET SECURITY/LIKE. Either it would delete everything before copying the new ACL (in which case you can use it to wipe the whole ACL using a file with a null ACL as the source) or it would skip hidden ACEs. If the latter you could preserve all the "normal" ACEs using a temporary file, set it /LIKE the PWRK file to strip the hidden ACEs, then back the other way to restore the visible ones.
I've attached a procedure exploiting Jess's suggestion with a pipeline to feed in the files. P1 is a wildcard filespec, including any DIRECTORY selection qualifiers. For example:
$ @DELETE_PWRK_ACE *JEREMY*.*/BEFORE=YESTERDAY/SINCE=1-JAN
Since I don't have any PWRK files or a copy of PWRK$DELETEACE to test it on, please check first...
(On the other hand, if someone can get hold of the source of PWRK$DELETEACE it can't be too hard to wrap it into a decent interface!)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2009 03:29 PM
06-01-2009 03:29 PM
Re: A tool to delete all Pathworks ACEs ?
Concerning Hidden ACEs, it appears that SECURITY privilege is required to delete a hidden ACE with the DCL command SET SECURITY.
from http://h71000.www7.hp.com/doc/83final/6048/6048pro_001.html
Hidden Indicates that this ACE should be changed only by the application that adds it. Although the Hidden attribute is valid for any ACE type, its intended use is to hide Application ACEs. To delete or modify a hidden ACE, you must use the SET SECURITY command.
Users need the SECURITY privilege to display a hidden ACE with the DCL commands SHOW SECURITY or DIRECTORY/SECURITY. SECURITY privilege is also required to modify or delete a hidden ACE with the DCL command SET SECURITY. The ACL editor displays the ACE only to show its relative position within the ACL, not to facilitate editing of the ACE. To create a hidden ACE, an application can invoke the $SET_SECURITY system service.
Protected Protects the ACE against casual deletion. Protected ACEs can be deleted only in the following ways:
By using the ACL editor
By specifying the ACE explicitly when deleting it
Use the command SET SECURITY/ACL=(ace)/DELETE to specify and delete an ACE.
By deleting all ACEs, both protected and unprotected
Use the command SET SECURITY/ACL/DELETE=ALL to delete all ACEs.
The following commands do not delete protected ACEs:
SET SECURITY/ACL/DELETE
SET SECURITY/LIKE
SET SECURITY/DEFAULT
Nopropagate Indicates that the ACE cannot be copied by operations that usually propagate ACEs. For example, the ACE cannot be copied by the SET SECURITY/LIKE or SET SECURITY/DEFAULT commands.
None Indicates that no attributes apply to an entry. Although you can create an ACL entry with OPTIONS=None, the attribute is not displayed. Whenever you specify additional attributes with the None attribute, the other attributes take precedence. The None attribute is equivalent to omitting the field.