umask(2)

umask2

Set file creation mode mask

Usage

#include <sys/stat.h>

mode_t

umask(mode_t numask);

Library

Standard C Library (libc, -lc)

Overview

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.

Return values

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

Errors

The umask() system call is always successful.

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 46 times.

  1. 2.0.5–2.1.7.1
  2. 2.2.2–2.2.8
  3. 2.2.9
  4. 3.0–3.2
  5. 3.3–3.4
  6. 3.5–3.5.1
  7. 4.0
  8. 4.1–4.3
  9. 4.4
  10. 4.5–4.11
  11. 5.0
  12. 5.1–5.2.1
  13. 5.3–5.5
  14. 6.0–6.3
  15. 6.4
  16. 7.0
  17. 7.1
  18. 7.2
  19. 7.3
  20. 7.4
  21. 8.0
  22. 8.1
  23. 8.2
  24. 8.3
  25. 8.4
  26. 9.0
  27. 9.1
  28. 9.2
  29. 9.3
  30. 10.0
  31. 10.1
  32. 10.2
  33. 10.3
  34. 10.4
  35. 11.0
  36. 11.1
  37. 11.2
  38. 11.3
  39. 11.4
  40. 12.0
  41. 12.1
  42. 12.2
  43. 12.3
  44. 12.4
  45. 13.0–13.2
  46. 13.3–14.5
  47. 15.0–16.0

Standards

The umask() system call is expected to conform to ISO/IEC 9945-1:1990 (“POSIX.1”).

History

The umask() function appeared in Version 7 AT&T UNIX.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.