summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2003/man1p/umask.1p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2003/man1p/umask.1p')
-rw-r--r--man-pages-posix-2003/man1p/umask.1p315
1 files changed, 315 insertions, 0 deletions
diff --git a/man-pages-posix-2003/man1p/umask.1p b/man-pages-posix-2003/man1p/umask.1p
new file mode 100644
index 0000000..c8a644c
--- /dev/null
+++ b/man-pages-posix-2003/man1p/umask.1p
@@ -0,0 +1,315 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "UMASK" 1P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" umask
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.SH NAME
+umask \- get or set the file mode creation mask
+.SH SYNOPSIS
+.LP
+\fBumask\fP \fB[\fP\fB-S\fP\fB][\fP\fImask\fP\fB]\fP
+.SH DESCRIPTION
+.LP
+The \fIumask\fP utility shall set the file mode creation mask of the
+current shell execution environment (see \fIShell Execution Environment\fP
+) to the value specified by the \fImask\fP operand. This mask
+shall affect the initial value of the file permission bits of subsequently
+created files. If \fIumask\fP is called in a subshell
+or separate utility execution environment, such as one of the following:
+.sp
+.RS
+.nf
+
+\fB(umask 002)
+nohup umask ...
+find . -exec umask ... \\;
+\fP
+.fi
+.RE
+.LP
+it shall not affect the file mode creation mask of the caller's environment.
+.LP
+If the \fImask\fP operand is not specified, the \fIumask\fP utility
+shall write to standard output the value of the invoking
+process' file mode creation mask.
+.SH OPTIONS
+.LP
+The \fIumask\fP utility shall conform to the Base Definitions volume
+of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
+.LP
+The following option shall be supported:
+.TP 7
+\fB-S\fP
+Produce symbolic output.
+.sp
+.LP
+The default output style is unspecified, but shall be recognized on
+a subsequent invocation of \fIumask\fP on the same system
+as a \fImask\fP operand to restore the previous file mode creation
+mask.
+.SH OPERANDS
+.LP
+The following operand shall be supported:
+.TP 7
+\fImask\fP
+A string specifying the new file mode creation mask. The string is
+treated in the same way as the \fImode\fP operand described
+in the EXTENDED DESCRIPTION section for \fIchmod\fP.
+.LP
+For a \fIsymbolic_mode\fP value, the new value of the file mode creation
+mask shall be the logical complement of the file
+permission bits portion of the file mode specified by the \fIsymbolic_mode\fP
+string.
+.LP
+In a \fIsymbolic_mode\fP value, the permissions \fIop\fP characters
+\fB'+'\fP and \fB'-'\fP shall be interpreted
+relative to the current file mode creation mask; \fB'+'\fP shall cause
+the bits for the indicated permissions to be cleared in
+the mask; \fB'-'\fP shall cause the bits for the indicated permissions
+to be set in the mask.
+.LP
+The interpretation of \fImode\fP values that specify file mode bits
+other than the file permission bits is unspecified.
+.LP
+In the octal integer form of \fImode\fP, the specified bits are set
+in the file mode creation mask.
+.LP
+The file mode creation mask shall be set to the resulting numeric
+value.
+.LP
+The default output of a prior invocation of \fIumask\fP on the same
+system with no operand also shall be recognized as a
+\fImask\fP operand.
+.sp
+.SH STDIN
+.LP
+Not used.
+.SH INPUT FILES
+.LP
+None.
+.SH ENVIRONMENT VARIABLES
+.LP
+The following environment variables shall affect the execution of
+\fIumask\fP:
+.TP 7
+\fILANG\fP
+Provide a default value for the internationalization variables that
+are unset or null. (See the Base Definitions volume of
+IEEE\ Std\ 1003.1-2001, Section 8.2, Internationalization Variables
+for
+the precedence of internationalization variables used to determine
+the values of locale categories.)
+.TP 7
+\fILC_ALL\fP
+If set to a non-empty string value, override the values of all the
+other internationalization variables.
+.TP 7
+\fILC_CTYPE\fP
+Determine the locale for the interpretation of sequences of bytes
+of text data as characters (for example, single-byte as
+opposed to multi-byte characters in arguments).
+.TP 7
+\fILC_MESSAGES\fP
+Determine the locale that should be used to affect the format and
+contents of diagnostic messages written to standard
+error.
+.TP 7
+\fINLSPATH\fP
+Determine the location of message catalogs for the processing of \fILC_MESSAGES
+\&.\fP
+.sp
+.SH ASYNCHRONOUS EVENTS
+.LP
+Default.
+.SH STDOUT
+.LP
+When the \fImask\fP operand is not specified, the \fIumask\fP utility
+shall write a message to standard output that can later
+be used as a \fIumask\fP \fImask\fP operand.
+.LP
+If \fB-S\fP is specified, the message shall be in the following format:
+.sp
+.RS
+.nf
+
+\fB"u=%s,g=%s,o=%s\\n", <\fP\fIowner permissions\fP\fB>, <\fP\fIgroup permissions\fP\fB>,
+ <\fP\fIother permissions\fP\fB>
+\fP
+.fi
+.RE
+.LP
+where the three values shall be combinations of letters from the set
+{ \fIr\fP, \fIw\fP, \fIx\fP}; the presence of a letter
+shall indicate that the corresponding bit is clear in the file mode
+creation mask.
+.LP
+If a \fImask\fP operand is specified, there shall be no output written
+to standard output.
+.SH STDERR
+.LP
+The standard error shall be used only for diagnostic messages.
+.SH OUTPUT FILES
+.LP
+None.
+.SH EXTENDED DESCRIPTION
+.LP
+None.
+.SH EXIT STATUS
+.LP
+The following exit values shall be returned:
+.TP 7
+\ 0
+The file mode creation mask was successfully changed, or no \fImask\fP
+operand was supplied.
+.TP 7
+>0
+An error occurred.
+.sp
+.SH CONSEQUENCES OF ERRORS
+.LP
+Default.
+.LP
+\fIThe following sections are informative.\fP
+.SH APPLICATION USAGE
+.LP
+Since \fIumask\fP affects the current shell execution environment,
+it is generally provided as a shell regular built-in.
+.LP
+In contrast to the negative permission logic provided by the file
+mode creation mask and the octal number form of the
+\fImask\fP argument, the symbolic form of the \fImask\fP argument
+specifies those permissions that are left alone.
+.SH EXAMPLES
+.LP
+Either of the commands:
+.sp
+.RS
+.nf
+
+\fBumask a=rx,ug+w
+.sp
+
+umask 002
+\fP
+.fi
+.RE
+.LP
+sets the mode mask so that subsequently created files have their S_IWOTH
+bit cleared.
+.LP
+After setting the mode mask with either of the above commands, the
+\fIumask\fP command can be used to write out the current
+value of the mode mask:
+.sp
+.RS
+.nf
+
+\fB$\fP \fBumask
+\fP\fB0002\fP
+.fi
+.RE
+.LP
+(The output format is unspecified, but historical implementations
+use the octal integer mode format.)
+.sp
+.RS
+.nf
+
+\fB$\fP \fBumask -S
+\fP\fBu=rwx,g=rwx,o=rx\fP
+.fi
+.RE
+.LP
+Either of these outputs can be used as the mask operand to a subsequent
+invocation of the \fIumask\fP utility.
+.LP
+Assuming the mode mask is set as above, the command:
+.sp
+.RS
+.nf
+
+\fBumask g-w
+\fP
+.fi
+.RE
+.LP
+sets the mode mask so that subsequently created files have their S_IWGRP
+and S_IWOTH bits cleared.
+.LP
+The command:
+.sp
+.RS
+.nf
+
+\fBumask -- -w
+\fP
+.fi
+.RE
+.LP
+sets the mode mask so that subsequently created files have all their
+write bits cleared. Note that \fImask\fP operands
+\fB-r\fP, \fB-w\fP, \fB-x\fP or anything beginning with a hyphen,
+must be preceded by \fB"--"\fP to keep it from being
+interpreted as an option.
+.SH RATIONALE
+.LP
+Since \fIumask\fP affects the current shell execution environment,
+it is generally provided as a shell regular built-in. If it
+is called in a subshell or separate utility execution environment,
+such as one of the following:
+.sp
+.RS
+.nf
+
+\fB(umask 002)
+nohup umask ...
+find . -exec umask ... \\;
+\fP
+.fi
+.RE
+.LP
+it does not affect the file mode creation mask of the environment
+of the caller.
+.LP
+The description of the historical utility was modified to allow it
+to use the symbolic modes of \fIchmod\fP. The \fB-s\fP option used
+in early proposals was changed to \fB-S\fP because \fB-s\fP
+could be confused with a \fIsymbolic_mode\fP form of mask referring
+to the S_ISUID and S_ISGID bits.
+.LP
+The default output style is implementation-defined to permit implementors
+to provide migration to the new symbolic style at the
+time most appropriate to their users. A \fB-o\fP flag to force octal
+mode output was omitted because the octal mode may not be
+sufficient to specify all of the information that may be present in
+the file mode creation mask when more secure file access
+permission checks are implemented.
+.LP
+It has been suggested that trusted systems developers might appreciate
+ameliorating the requirement that the mode mask
+"affects" the file access permissions, since it seems access control
+lists might replace the mode mask to some degree. The
+wording has been changed to say that it affects the file permission
+bits, and it leaves the details of the behavior of how they
+affect the file access permissions to the description in the System
+Interfaces volume of IEEE\ Std\ 1003.1-2001.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIShell Command Language\fP, \fIchmod\fP, the System
+Interfaces volume of IEEE\ Std\ 1003.1-2001, \fIumask\fP()
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .