umask は、 open(2), mkdir(2) やファイル作成を行うその他のシステムコールで、 新しく作成されるファイルやディレクトリの許可 (permission) を 修正するために使用される。 具体的には umask に設定されている許可が open(2) や mkdir(2) の mode 引き数から取り消される。
mask に指定するのに使用すべき定数については stat(2) で説明されている。
プロセスの umask のよくあるデフォルト値は S_IWGRP | S_IWOTH (8進で 022) である。 新しいファイルを作成する際に open(2) の mode 引き数に
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTHを指定するというよくあるケースでは、作成されたファイルは
S_IRUSR | S_IWUSR | S_IRGRP | S_IROTHという許可を持つことになる (なぜなら 0666 & ~022 = 0644、つまり rw-r--r--)。
umask の設定は、そのプロセスが生成する POSIX IPC オブジェクト (mq_open(3), sem_open(3), shm_open(3)) や FIFO (mkfifo(3))、 Unix ドメインソケット (unix(7)) に設定される許可にも影響を与える。 一方、umask は、そのプロセスが (msgget(2), semget(2), shmget(2) を使って) 生成する System V IPC オブジェクトに設定される許可には 影響を与えない。