Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Apropos / Subsearch:
optional field

umask(1)                         User Commands                        umask(1)

       umask - get or set the file mode creation mask

       /usr/bin/umask [-S] [mask]

       umask [ooo]

       umask [ooo]

       umask [-S] [mask]

       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 subse-
       quently 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 environ-
       ment. 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

       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''  speci-
       fied by the system for the creation of a file (see creat(2)). For exam-
       ple, umask 022 removes write permission for group and other (files nor-
       mally  created  with  mode 777 become mode 755. Files 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(4))  and
            invoked  at  login  to automatically set the user's permissions on
            files or directories created.

       See the description above for the Bourne shell (sh)umask built-in.

       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.

       The following option is supported:

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

       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 cre-
                ation  mask  is  the logical complement of the file permission
                bits portion of the file mode specified by  the  symbolic_mode

                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  per-
                missions 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

                The  default output of a prior invocation of umask on the same
                system with no operand will also be recognized as a mask oper-
                and.  The  use of an operand obtained in this way is not obso-
                lescent, even if it is an octal number.

       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 oper-

       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.

       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

       The output format is unspecified, but  historical  implementations  use
       the obsolescent octal integer mode format.

       example$ umask -S

       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.

       See environ(5) for descriptions of the following environment  variables
       that  affect  the execution of umask: LANG, LC_ALL, LC_COLLATELC_CTYPE,

       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.

       See attributes(5) for descriptions of the following attributes:

       tab()     allbox;     cw(2.750000i)|    cw(2.750000i)    lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE  TYPEATTRIBUTE   VALUE   AvailabilitySUNWcsu
       Interface StabilityStandard

       chmod(1),  csh(1),  ksh(1),  sh(1),  chmod(2), creat(2), umask(2), pro-
       file(4), attributes(5), environ(5), standards(5)

SunOS 5.10                        1 Sep 2004                          umask(1)