Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
umask(1)							      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 (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(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 de-
		scribed	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_IW-
       GRP 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  be-
       ginning	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:

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWcsu			   |
       |Interface Stability	     |Standard			   |

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

				  23 Jun 2005			      umask(1)


Want to link to this manual page? Use this URL:

home | help