書式
umask [OPTIONS] [MASK]

概要

umask コマンドはumask
(ファイル作成時のマスク)を
表示したり操作したりします。

マスクはファイルアクセスの
デフォルトのアクセス権限
(パーミッション)を
制限するために使われます。

umaskは
8進数(デフォルトでは剥奪される権限)か、
シンボル(デフォルトで保証される権限)で
表されます。

アクセス権限(パーミッション)は
chmod(1) プログラムの
manページ(日本語・外部サイト)
にて
説明されています。

引数が与えられない場合は、
現在のマスクが8進数で表示されます。

オプション

-h / --help
このヘルプメッセージを表示する。
-S / --symbolic
マスクを8進数ではなくてシンボル形式で表示する。
-p / --as-command
評価可能な形でumaskを表示する。

訳注:実行例を示します。

$ umask
0022
$ umask -S
u=rwx,g=rx,o=rx
$ umask -p
umask 0022

8進数のマスク

パラメータとして
8進数でマスクを指定したとき、

現在のシェルのumaskがその値に設定され、
マスクに設定された権限は
ファイル・ディレクトリ作成時に
デフォルトで削除されます。

シンボルのマスク

シンボルでマスクを指定したとき、
望んだパーミッションのビットは
反転されずに指定されます。

シンボルのマスクは
コンマで区切られた権限のリストです。

それぞれの権限は
3つのパートで構成されています。

最初のパートは
権限の集合を誰に適用するかを指定し、
以下のどれか1つです。

u
ファイル所有者
g
ファイルと同じグループに属している所有者
o
その他の人々
a
全ユーザ

2番目のパートは
モードを指定し、
以下のどれか1つです。

=
指定した権限だけを新しい権限にする
+
現状の権限に指定した権限を加える
-
現状の権限から指定した権限を削除する

3番目のパートは
変更できる権限は何かを指定し、
以下を組み合わせられます。

r
読み込み
w
書き込み
x
実行

3番目のパートのみ指定されたとき、
a= が指定されたものとみなします。

たとえば、 r,u+w

  • 全ユーザが読み込み権限を持ち
  • 所有者が書き込み権限も持つ

を意味します。

ただし、シンボルのマスクは現在、
思うように動きません!

実行例

umask 177 または umask u=rw は、

  • 所有者に対して読み書き権限を持たせ
  • 他のユーザには何の権限も持たせない

マスクを設定します。

$ umask 177
$ umask
0177
$ umask -S
u=rw,g=,o=
$ umask -p
umask 0177

最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。