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