UMASK(2) System Calls UMASK(2)
umask - set file creation mode mask
mode_t umask (mode_t numask);
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
The previous value of the file mode mask is returned by the call.
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
effect of setenv failing in this case will be that the value of numask
will not be maintained after an execve(2).
chmod(2), mknod(2), open(2)
The umask function call is expected to conform to IEEE Std 1003.1-1988
GNO 14 December 1996 UMASK(2)
Man(1) output converted with