UMASK(2) | System Calls Manual | UMASK(2)

# NAME

`umask` — set file creation mode mask

# SYNOPSIS

`#include <sys/types.h>`
`#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. Only the read, write, and execute file permission bits of numask are honored, all others are ignored.

The file mode creation mask is used by the bind(2), mkdir(2), mkdirat(2), mkfifo(2), mkfifoat(2), mknod(2), mknodat(2), open(2) and openat(2) system calls to turn off corresponding bits requested in the file mode (see chmod(2)). This clearing allows users to restrict the default access to their 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.

# RETURN VALUES

The previous value of the file mode mask is returned by the call.

# ERRORS

The `umask`() function is always successful.

# SEE ALSO

chmod(2), mkdir(2), mkfifo(2), mknod(2), open(2)

# STANDARDS

The `umask`() function conforms to IEEE Std 1003.1-2008 (“POSIX.1”).

# HISTORY

The `umask`() system call first appeared in Version 7 AT&T UNIX.

February 18, 2022 | Debian