What is umask?

umask? What?

What is umask command use for in linux/unix system?

umask is uses to set the default file or directory permission when a user create a new file or directory. By default, when a user created new file/directory, the default permission is 644/755 or umask 022, that is the default umask configure in the your unix/linux system.

umask calculation

How does the umask calculation works? Simple, subtract the default value of file value (666) and directory value (777) to the permission mode you wanted. In an example, I would like a new files/directory create with owner (Read/Write/Execute), group (read), others (read), the umask value would be umask 022.

If you want the permit an unix user created the file with default permission 600, set the umask to 066 in the default shell config file.

Test with umask

Setting the umask to 066 and see what will happen.

shell> umask 066
shell> mkdir foo
shell> ls -dl foo

drwx--x--x  2 takizo  takizo    68B May 21 08:57 foo

the directory is created with permission mod 711

shell> touch bar
shell> ls -l bar

-rw-------  1 takizo  takizo     0B May 21 09:00 bar

the file is create with permission mod 600