fabmilo
fabmilo

Reputation: 48330

Why would you use umask?

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 ?

Upvotes: 6

Views: 4843

Answers (2)

Dave Sherohman
Dave Sherohman

Reputation: 46187

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).

Upvotes: 12

DZeN
DZeN

Reputation: 41

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

Upvotes: 4

Related Questions