kazmax - Linux で自宅サーバー

umask - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. 注意
  6. 準拠
  7. 関連項目

名前

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
を指定するというよくあるケースでは、作成されたファイルは

S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
という許可を持つことになる (なぜなら 0666 & ~022 = 0644、つまり rw-r--r--)。

返り値

このシステムコールは必ず成功し、以前の umask 値を返す。

注意

  fork (2) で作成された子プロセスは、親プロセスの umask を継承する。   execve (2) によって umask は変更されない。

準拠

SVr4, 4.3BSD, POSIX.1-2001.

関連項目