Windows Advanced Permissions on Folders

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

···

--
Posted via http://www.ruby-forum.com/.

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:

···

On 3/21/06, Archie Call <archcall@gmail.com> wrote:

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

Archie Call wrote:

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?

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
* Rubyforge project: http://rubyforge.org/projects/win32utils/
* download: http://rubyforge.org/frs/?group_id=85&release_id=1918

Cheers,
Dave