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: NSTemporaryDirectory() and security



On 5/1/07, Jaime Magiera <email@hidden> wrote:
Good afterevenmorning,

In all of my cocoa document-based applications, I've used
NSTemporaryDirectory() as storage for render files, etc. This seems
to be the suggested method...

http://developer.apple.com/documentation/MacOSX/Conceptual/
BPFileSystem/Articles/WhereToPutFiles.html#//apple_ref/doc/uid/
TP40001411-109669

However, there is a security issue, in the eyes of some, that writing
to /tmp is bad. So, they have it cordoned off on their systems.
Another issue would be if a user was rendering content that they
didn't want other users (such as those logged via SSH) to see.

What are the options/suggestions for tmp file writing that is secure
but also follows Apple's guidelines? What are other folks doing?

You should create an user and application specific directory under the "tmp" directory returned by the recommend APIs. The name of that directory should look something like the following "com.myapplication.bundleid.<user id>" with the possibility of using mkstemp to generate a non-colliding directory name (aka "com.myapplication.bundleid.<user id>.NNNN"). The directory should at least disallow write to "others" and "wheel" and allow the user you created it for to read, write and search.

drwxr-xr-x   2 serickso  wheel  68B May  1 10:52 3056/

-Shawn
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden
References: 
 >NSTemporaryDirectory() and security (From: Jaime Magiera <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.