not an issue. It eventually grew to serve hundreds of users from different organizations. At first, developers made creation modes for key files more restrictive, especially for cases of actual security breaches, but this was not a general solution. The mask and the command were introduced around 1978, in the seventh edition of the operating system, so it could allow sites, groups and individuals to choose their own defaults. The mask has since been implemented in most, if not all, of the contemporary implementations of Unix-like operating systems. Shell command In a shell, the mask is set by using the command. The syntax of the command is: umask [-S ] [maskExpression] (The items within the brackets are optional.) Displaying the current mask If the command is invoked without any arguments, it will display the current mask. The output will be in either octal or symbolic notation, depending on the OS. In most shells, but not the C shell, the argument (i.e. ) will instruct to display using symbolic notation. For example: $ umask # display current value (as octal) 0022 $ umask -S # display current value symbolically u=rwx,g=rx,o=rx Setting the mask using octal notation If the command is invoked with an octal argument, it will directly set the bits of the mask to that argument: $ umask 007 # set the mask to 007 $ umask # display the mask (in octal) 0007 # 0 - special permissions (setuid | setgid | sticky ) # 0 - (u)ser/owner part of mask # 0 - (g)roup part of mask # 7 - (o)thers/not-in-group part of mask $ umask -S # display the mask symbolically u=rwx,g=rwx,o= If fewer than 4 digits are entered, leading zeros are assumed. An error will result if the argument is not a valid octal number or if it has more than 4 digits. The three rightmost octal digits address the "owner", "group" and "other" user classes respectively. If a fourth digit is present, the leftmost (high-order) digit addresses three additional attributes, the setuid bit, the setgid bit and the sticky bit. Octal codes Setting the mask using symbolic notation When is invoked using symbolic notation, it will modify or set the flags as specified by the maskExpression with the syntax: Note that this syntax does not work when using the C shell due to the different behaviour of its built-in command. Multiple maskExpressions are separated by