[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Windows Advanced Permissions on Folders

Archie Call

3/22/2006 12:36:00 AM

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-....


2 Answers

Wilson Bilkovich

3/22/2006 1:06:00 AM

0

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

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/AccessCon...


Dave Burt

3/22/2006 7:10:00 AM

0

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

Cheers,
Dave