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

FreeBSD Manual Pages


home | help
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 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

	     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.

       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

       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:

       $ umask

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

       $ 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: LC_CTYPE, LC_MESSAGES, and NLSPATH.

       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			   |

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

SunOS 5.9			  31 Oct 2001			      umask(1)


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

home | help