Umask
From Wikipedia, the free encyclopedia
- The correct title of this article is umask. The initial letter is shown capitalized due to technical restrictions.
umask (abbreviated from user file creation mode mask) is a function on POSIX environments which sets the default file system mode for newly created files and directories of the current process. The permissions of a file created under a given umask value are calculated using the following bitwise operation (note that umasks must always be calculated in octal)
bitwise AND of the unary complement of the argument (using bitwise NOT) and the full access mode.
The full access mode is 666 in the case of files, and 777 in the case of directories. Most Unix shells provide a umask command that affects all child processes executed in this shell.
[edit] Examples
Assuming the umask has the value 174, any new file will be created with the permissions 602 and any new directory will have permissions 603 because:
6668 AND NOT(1748) = 6028
while
7778 AND NOT(1748) = 6038
Doing this in bash:
$ umask 0174 $ mkdir foo $ touch bar $ ls -l drw-----wx 2 dave dave 512 Sep 1 20:59 foo -rw-----w- 1 dave dave 0 Sep 1 20:59 bar