UMASK(2) System Calls UMASK(2)
NAME
umask - set file creation mode mask
SYNOPSIS
#include <sys/stat.h>
mode_t umask (mode_t numask);
DESCRIPTION
The umask routine sets the process's file mode creation mask to numask
and returns the previous value of the mask. The 9 low-order access
permission bits of numask are used by system calls, including open(2),
mkdir(2), and mkfifo(2), to turn off corresponding bits requested in
file mode. (See chmod(2)). This clearing allows each user to restrict
the default access to his files.
The default mask value is S_IWGRP|S_IWOTH (022, write access for the
owner only). Child processes inherit the mask of the calling process.
Because the GNO kernel does not currently implement a mask, the mask
value is maintained into child processes through the environment vari‐
able UMASK, which is assumed to be a string representing an octal mask
value. For shells such as gsh(1) which don't support a umask builtin
command, the user's default mask may be controlled by setting the UMASK
environment variable.
RETURN VALUES
The previous value of the file mode mask is returned by the call.
ERRORS
The umask function will never return an error condition, however it is
possible that the setenv(3) call used in the GNO implementation may
fail. To detect this condition, the user must set errno to zero prior
to calling umask, and check it's value afterward. Under most circum‐
stances this possible error condition may be ignored; the only side ef‐
fect of setenv failing in this case will be that the value of numask
will not be maintained after an execve(2).
SEE ALSO
chmod(2), mknod(2), open(2)
STANDARDS
The umask function call is expected to conform to IEEE Std 1003.1-1988
(POSIX).
GNO 14 December 1996 UMASK(2)
Man(1) output converted with
man2html