Can I set the umask for tempfile.NamedTemporaryFile in python?
Question: In Python (tried this in 2.7 and below) it looks like a file created using
`tempfile.NamedTemporaryFile` doesn't seem to obey the umask directive:

    
    
    import os, tempfile
    os.umask(022)
    f1 = open ("goodfile", "w")
    f2 = tempfile.NamedTemporaryFile(dir='.')
    f2.name
    
    Out[33]: '/Users/foo/tmp4zK9Fe'
    
    ls -l
    -rw-------  1 foo  foo  0 May 10 13:29 /Users/foo/tmp4zK9Fe
    -rw-r--r--  1 foo  foo  0 May 10 13:28 /Users/foo/goodfile
    

Any idea why `NamedTemporaryFile` won't pick up the umask? Is there any way to
do this during file creation?

I can always workaround this with os.chmod(), but I was hoping for something
that did the right thing during file creation.


Answer: This is a security feature. The `NamedTemporaryFile` is always created with
mode `0600`, hardcoded at [`tempfile.py`, line
235](http://hg.python.org/cpython/file/63bde882e311/Lib/tempfile.py#l235),
because it is private to your process until you open it up with `chmod`. There
is no constructor argument to change this behavior.

