Windows Advanced Permissions on Folders


#1

In a MS-Windows environment I know how to recurse all the folders using
a Dir.glob statement that starts a certain level of the directory tree.

I am struggling with a way in Ruby to set the advanced permissions for
certain folders:

Properties
…Security
…Advanced
…View Edit
…Permissions
…13 Detailed kinds of specific permissions for the folder

There must some kind of command to set these: Is it something with
Win32API?

I have searched hi and lo in Google with little luck?

TIA…Arch


#2

On 3/21/06, Archie C. removed_email_address@domain.invalid wrote:

…Permissions
…13 Detailed kinds of specific permissions for the folder

There must some kind of command to set these: Is it something with
Win32API?

I have searched hi and lo in Google with little luck?

TIA…Arch

Presumably there’s an API for setting the ACLs in NTFS, but I’ve never
used it.
Until you figure out how to invoke that, you could just do a system()
call out to “cacls.exe”, which will take care of it.
Do “cacls.exe /?” to see the options.

This Google hit seems to have some useful info that could be
interpreted into Ruby:
http://msdn.microsoft.com/msdnmag/issues/04/11/AccessControlinNET/


#3

Archie C. wrote:

…Permissions
…13 Detailed kinds of specific permissions for the folder

There must some kind of command to set these: Is it something with
Win32API?

You can use Win32API to access Windows API calls directly. You probably
don’t want to.

Try win32-utils’ win32/file module. Its File.attributes(file_name) and
File.set_attr(file_name, flags) support the following attributes:
* archive
* compressed
* content_indexed
* directory
* encrypted
* hidden
* normal
* offline
* read_only
* reparse_point
* sparse_file
* system
* temporary* win32/file doco:
http://rubyforge.org/docman/view.php/85/36/file.txt

Cheers,
Dave