umask - システムコールの説明 - Linux コマンド集 一覧表
名前
umask - ファイルモード作成マスクを設定する
書式
#include <sys/types.h>
#include <sys/stat.h>
mode_t umask(mode_t
mask
);
説明
umask
()は、呼び出し元プロセスのファイルモード作成マスク (umask) を
mask
& 0777
に設定する。
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_IWRGRP | S_IROTH | S_IWOTH
という許可を持つことになる (なぜなら 0666 & ~022 = 0644、つまり rw-r--r--)。
S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
返り値
このシステムコールは必ず成功し、以前の umask 値を返す。
注意
fork (2) で作成された子プロセスは、親プロセスの umask を継承する。 execve (2) によって umask は変更されない。
準拠
SVr4, 4.3BSD, POSIX.1-2001.