tempfile Question
Steve Holden
steve at holdenweb.com
Wed Jun 7 08:37:57 EDT 2006
John Machin wrote:
> On 7/06/2006 3:57 PM, Dennis Lee Bieber wrote:
>
>>On Wed, 07 Jun 2006 09:56:13 +1000, John Machin <sjmachin at lexicon.net>
>>declaimed the following in comp.lang.python:
>>
>>
>>>The dir, prefix and suffix parameters are passed to mkstemp().
>>
>> <snip>
>>
>>>So I'd be thinking about using the (deprecated) mktemp() instead,
>>
>> I think you passed over the mkstemp() variation. Granted, it, too,
>>returns an opened file, along with the full pathname of the file, but it
>>requires the caller to handle eventual disposal of the file.
>>
>> Merely close the opened file; pass the pathname to the subprocess,
>>await completion of subprocess, reopen the file for use in Python...
>>Then at the end, close the file and use the pathname to delete the file
>>from the system.
>
>
> I passed over mkstemp() because (according to my reading of the manual),
> mkstemp() requires an *extra* step (close the file), leaving the
> situation then *exactly* the same as with mktemp() i.e. some pirate
> process may molest the file before the caller's child process can open
> the file.
>
Surely if you set permissions correctly on /tmp (sticky-but to require
ownership for deletion) and you create your temporary file with sensible
ownership and permissions then rogue processes without root privileges
can't do anything bad to your files. Or am I wrong?
Of course if a rogue process has root privileges then all security bets
are off anyway.
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Love me, love my blog http://holdenweb.blogspot.com
Recent Ramblings http://del.icio.us/steve.holden
More information about the Python-list
mailing list