Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > How to check NTFS file permissions?

Reply
Thread Tools

How to check NTFS file permissions?

 
 
Chris
Guest
Posts: n/a
 
      02-07-2006
This problem comes up because WinXP keeps putting it's 'System Volume
Information' directories on each partition. In this case, I think the FS
was created by an earlier incarnation of the machine I'm on.

However it is marked Read Only, and there doesn't seem to be any way to
change it. Properties window says it is Read only (with a square, not a
checkmark) and Hidden, and it lets me think I'm changing it, even asks if
I want to change all subordinates, but never changes it. That's an OT,
but I'd be happy to hear a solution to it.

The problem I'm having is that File.readable? and File.executable? both
give me true for that directory, but if I try Dir.chdir into it, it throw=
s
an exception.

Is there a check I can do, or is my only option: rescue Errno::EACCES?=20
And I guess the followup is: is it much more expensive in Ruby to catch
exceptions than to execute regular code (as it is in Java)?


Thanks,

-Chris


 
Reply With Quote
 
 
 
 
Chris
Guest
Posts: n/a
 
      02-07-2006
POSIX-y - oh, right. I'm still not used to crossing the Win/not-Win line
yet It was strange to see the file attributes of ctime =3D change tim=
e,
instead of create time. Back to the point, though, if Dir.chdir isn't a
read and it isn't an execute (and I assume it isn't a write), what kind o=
f
operation is it? And can someone add that method to Ruby's File or Dir?

I'm hoping I don't run into this problem often - I've gone through a
couple larger partitions and things have worked well except for this one
thing. I'm more than a little surprised that it happened with SVI but no=
t
with Recycler. And while I don't trust what I can't see and Window's
ACLs are definitely on that list, it gets hard to do anything if I don't
assume things are working the way it looks like they should. No one has
made enough documentation to dissuade that state of affairs


To address Daniel Berger's comment (which jogged my memory of this),
unfortunately in the WindowsXP GUI nothing is cut-and-dried: a checkbox
square can contain a square instead of a checkmark if it is only partiall=
y
true. Here it must be that some of the directory's files are read-only
but others are not. So it may not reflect anything about the directory
itself. I'm beginning to understand my confusion...


Well, Thanks guys,

-Chris


David Vallner said:
> D=C5=88a Utorok 07 Febru=C3=A1r 2006 20:49 Chris nap=C3=ADsal:
>> This problem comes up because WinXP keeps putting it's 'System Volume
>> Information' directories on each partition. In this case, I think the
>> FS
>> was created by an earlier incarnation of the machine I'm on.
>>
>> However it is marked Read Only, and there doesn't seem to be any way t=

o
>> change it. Properties window says it is Read only (with a square, not=

a
>> checkmark) and Hidden, and it lets me think I'm changing it, even asks
>> if
>> I want to change all subordinates, but never changes it. That's an OT=

,
>> but I'd be happy to hear a solution to it.

>
> The Properties window doesn't display whether a directory is or is not
> readable as per the POSIX-y meaning of the concept. It should technical=

ly
> display as read-only, if the contents of the directory are read-only, b=

ut
> the
> contents aren't actually checked, if only because it might end up takin=

g
> bloody long. I'm not even sure how those vestigial FAT attributes map t=

o
> NTFS
> ones. If you really want to get nitty-gritty with the system, check
> whatever
> setting it is that's hiding the NTFS ACLs from you and look at those.
>
> Slight sidenote: You really don't want to touch System Volume Informati=

on
> unless you really know what you're doing.
>
>>
>> The problem I'm having is that File.readable? and File.executable? bot=

h
>> give me true for that directory, but if I try Dir.chdir into it, it
>> throws
>> an exception.
>>
>> Is there a check I can do, or is my only option: rescue Errno::EACCES?
>> And I guess the followup is: is it much more expensive in Ruby to catc=

h
>> exceptions than to execute regular code (as it is in Java)?
>>

>
> Do you expect to run into inaccessible directories in the script more
> often
> than you actually process data in accessible ones? Unless so, I say don=

't
> bother and use Errno::EACCES. The overhead isn't likely to be significa=

nt
> compared to total execution time.
>
> David Vallner



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
How to check FAT or NTFS ? Bad Disciple Computer Information 13 07-11-2007 04:49 PM
NTFS File System - File Owner Ishmael Rufus Java 0 01-31-2007 08:30 PM
NTFS / File Access Question Zach ASP .Net 7 09-17-2005 05:02 PM
Creating a batch to determine if HD is NTFS if not format it NTFS Tech Computer Support 3 04-06-2004 06:19 PM



Advertisments