UMASK(1)                        User Commands                       UMASK(1)
NAME
       umask - get or set the file mode creation mask
SYNOPSIS
       /usr/bin/umask [
-S] [
mask]   
sh       umask [
ooo]   
csh       umask [
ooo]   
ksh       umask [
-S] [
mask]   
ksh93       umask [
-S] [
mask]
DESCRIPTION
       The 
umask utility sets the file mode creation mask of the current
       shell execution environment to the value specified by the 
mask       operand. This mask affects the initial value of the file permission
       bits of subsequently created files. If 
umask is called in a subshell
       or separate utility execution environment, such as one of the
       following:
         (umask 002)
         nohup umask ...
         find . -exec umask ...
       it does not affect the file mode creation mask of the caller's
       environment. For this reason, the 
/usr/bin/umask utility cannot be
       used to change the umask in an ongoing session. Its usefulness is
       limited to checking the caller's umask. To change the umask of an
       ongoing session you must use one of the shell builtins.
       If the 
mask operand is not specified, the 
umask utility writes the
       value of the invoking process's file mode creation mask to standard
       output.   
sh       The user file-creation mode mask is set to 
ooo. The three octal
       digits refer to read/write/execute permissions for owner, group, and
       other, respectively (see 
chmod(1), 
chmod(2), and 
umask(2)). The value
       of each specified digit is subtracted from the corresponding
       ``digit'' specified by the system for the creation of a file (see       
creat(2)). For example, 
umask 022 removes write permission for group
       and other.  Files (and directories) normally created with mode 
777       become mode 
755. Files (and directories) created with mode 
666 become
       mode 
644).
           o      If 
ooo is omitted, the current value of the mask is
                  printed.
           o      
umask is recognized and executed by the shell.
           o      
umask can be included in the user's 
.profile (see                  
profile(5)) and invoked at login to automatically set the
                  user's permissions on files or directories created.   
csh       See the description above for the Bourne shell (
sh)
umask built-in.   
ksh       The user file-creation mask is set to 
mask. 
mask can either be an
       octal number or a symbolic value as described in 
chmod(1). If a
       symbolic value is given, the new 
umask value is the complement of the
       result of applying 
mask to the complement of the previous umask
       value. If 
mask is omitted, the current value of the mask is printed.   
ksh93       umask sets the file creation mask of the current shell execution
       environment to the value specified by the 
mask operand. This mask
       affects the file permission bits of subsequently created files. 
mask       can either be an octal number or a symbolic value as described in       
chmod(1). If a symbolic value is specified, the new file creation
       mask is the complement of the result of applying 
mask to the
       complement of the current file creation mask. If 
mask is not
       specified, 
umask writes the value of the file creation mask for the
       current process to standard output.
OPTIONS
   ksh       The following option is supported for 
/usr/bin/umask and 
umask in       
ksh:       
-S             Produces symbolic output.
       The default output style is unspecified, but will be recognized on a
       subsequent invocation of 
umask on the same system as a 
mask operand
       to restore the previous file mode creation mask.   
ksh93       The following option is supported in 
ksh93:       
-S             Causes the file creation mask to be written or treated as a
             symbolic value rather than an octal number.
OPERANDS
       The following operand is supported:       
mask               A string specifying the new file mode creation mask. The
               string is treated in the same way as the 
mode operand
               described in the 
chmod(1) manual page.
               For a 
symbolic_mode value, the new value of the file mode
               creation mask is the logical complement of the file
               permission bits portion of the file mode specified by the               
symbolic_mode string.
               In a 
symbolic_mode value, the permissions 
op characters 
+ and               
- are interpreted relative to the current file mode creation
               mask.  
+ causes the bits for the indicated permissions to be
               cleared in the mask. 
- causes the bits of the indicated
               permissions to be set in the mask.
               The interpretation of 
mode values that specify file mode bits
               other than the file permission bits is unspecified.
               The file mode creation mask is set to the resulting numeric
               value.
               The default output of a prior invocation of 
umask on the same
               system with no operand will also be recognized as a 
mask               operand. The use of an operand obtained in this way is not
               obsolescent, even if it is an octal number.
OUTPUT
       When the 
mask operand is not specified, the 
umask utility will write
       a message to standard output that can later be used as a 
umask mask       operand.
       If 
-S is specified, the message will be in the following format:
         "u=%s,g=%s,o=%s\n", 
owner permissions, 
group permissions, \                                 
other permissions       where the three values will be combinations of letters from the set       
{r
, w, 
x}. The presence of a letter will indicate that the
       corresponding bit is clear in the file mode creation mask.
       If a 
mask operand is specified, there will be no output written to
       standard output.
EXAMPLES
       Example 1: Using the umask Command
       The examples in this section refer to the 
/usr/bin/umask utility and
       the 
ksh umask builtin.
       Either of the commands:         
umask a=rx,ug+w         umask 002       sets the mode mask so that subsequently created files have their       
S_IWOTH bit cleared.
       After setting the mode mask with either of the above commands, the       
umask command can be used to write the current value of the mode
       mask:
         example$ 
umask         0002
       The output format is unspecified, but historical implementations use
       the obsolescent octal integer mode format.
         example$ 
umask -S         u=rwx,g=rwx,o=rx
       Either of these outputs can be used as the mask operand to a
       subsequent invocation of the 
umask utility.
       Assuming the mode mask is set as above, the command:         
umask g-w       sets the mode mask so that subsequently created files have their       
S_IWGRP and 
S_IWOTH bits cleared.
       The command:         
umask --w       sets the mode mask so that subsequently created files have all their
       write bits cleared. Notice that 
mask operands 
r, 
w, 
x, or anything
       beginning with a hyphen (
-), must be preceded by 
- to keep it from
       being interpreted as an option.
ENVIRONMENT VARIABLES
       See 
environ(7) for descriptions of the following environment
       variables that affect the execution of 
umask: 
LANG, 
LC_ALL,       
LC_COLLATELC_CTYPE, 
LC_MESSAGES, and 
NLSPATH.
EXIT STATUS
       The following exit values are returned:       
0             The file mode creation mask was successfully changed, or no             
mask operand was supplied.       
>0             An error occurred.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:   
/usr/bin/umask, csh, ksh, sh       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Standard        |
       +--------------------+-----------------+   
ksh93       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | External        |
       +--------------------+-----------------+
SEE ALSO
       chmod(1), 
csh(1), 
ksh(1), 
ksh93(1), 
sh(1), 
chmod(2), 
creat(2),       
umask(2), 
profile(5), 
attributes(7), 
environ(7), 
standards(7)                             September 17, 2007                     UMASK(1)