Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why would you use umask?

Tags:

c++

c

unix

I am reading some source code and I found this statement at the very beginning of the main routine:

umask(077);

What could be the reason for that?

The man page (man 2 umask) states:

umask -- set file creation mode mask

This clearing allows each user to restrict the default access to his files

But is not clear to me why would anyone do that? as a shortcut ?

like image 944
fabrizioM Avatar asked May 06 '10 10:05

fabrizioM


2 Answers

Setting umask(077) ensures that any files created by the program will only be accessible to their owner (0 in first position = all permissions potentially available) and nobody else (7 in second/third position = all permissions disallowed to group/other).

like image 66
Dave Sherohman Avatar answered Oct 22 '22 17:10

Dave Sherohman


It needs for file system security. umask contains inverted number, using as file mode for new file. For example

dzen@DZeN ~ $ umask
022
dzen@DZeN ~ $ touch file
dzen@DZeN ~ $ ls -la file
-rw-r--r--  1 dzen  dzen  0  6 may 14:29 file
dzen@DZeN ~ $ umask 777
dzen@DZeN ~ $ umask      
0777
dzen@DZeN ~ $ touch file1
dzen@DZeN ~ $ ls -la file1
----------  1 dzen  dzen  0  6 may 14:30 file1
like image 38
DZeN Avatar answered Oct 22 '22 15:10

DZeN