SIMPLE SOLUTIONS

UMASK(2) - Linux manual

ファイルモード作成マスクを設定する.

2008-01-09
UMASK(2) Linux Programmer's Manual UMASK(2)

umask - ファイルモード作成マスクを設定する

#include <sys/types.h> #include <sys/stat.h> mode_t umask(mode_t mask);

umask() は、呼び出し元プロセスのファイルモード作成マスク (umask) を mask & 0777 に設定し (umask のファイル許可に対応するビットのみを使用する)、 変更前のマスク値を返す。 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 値を返す。

SVr4, 4.3BSD, POSIX.1-2001.

fork(2) で作成された子プロセスは、親プロセスの umask を継承する。 execve(2) によって umask は変更されない。 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 オブジェクトに設定される許可には 影響を与えない。

chmod(2), mkdir(2), open(2), stat(2), acl(5)

この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
Linux 2008-01-09 UMASK(2)
umask(2).txt (日本語 / Japanese)
Index English version of umask(2)
Go top