Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Determining file permissions



Mark Wagner wrote:
On 11/9/05, Chris Page <email@hidden> wrote:
  
On Nov 9, 2005, at 11:26 AM, Mark Wagner wrote:

    
How do I determine the access permissions for a file?  The headers
indicate that FSCatalogInfo has a field called "permissions", that for
a file on an HFS+ disk will return the POSIX permissions for the file,
but how do I get from that to an answer to "can I read that file?"

Also, what about other situations, such as:
 - A file on a FAT-12 floppy disk?  What if the disk is locked?
 - A file on a Windows file server?
 - A file on an HFS disk?
 - A file on a CD-ROM?
      
The short answer is: Don't bother trying to determine whether you can
read the file, just try opening the file with the access you want and
see if that succeeds.
    

Let's pretend I was so insane as to actually want to do this.  How
would I handle common "special cases"?  Would the "permissions" member
of an FSCatalogInfo structure have anything sensible for a file on a
Windows file server?  How would I handle making sure I wasn't about to
try to write to a CD-ROM?
  
Wait, I'm not clear here. Is your goal to know the POSIX access flags (-rwxrwxrwx), or is your goal to determine whether a file can be written to?

FSGetCatalogInfo's permissions tells you the POSIX access flags

The easiest way to learn whether a file can be written to is to open the file with write permission and then immediately close it. If you were able to open it, it's writable. This is safe to do and doesn't take a long time. Checking all the cases that "open" would check is probably very difficult to do properly, and may change between OS releases. (OS X Server even added ACLs recently, I think, and AFAIK there's no way for you to peer at their innards.)

If your goal is something else still, please be more specific :)

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Carbon-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/carbon-dev/email@hidden

This email sent to email@hidden

References: 
 >Determining file permissions (From: Mark Wagner <email@hidden>)
 >Re: Determining file permissions (From: Chris Page <email@hidden>)
 >Re: Determining file permissions (From: Mark Wagner <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.