umask コマンド

目次

概要

umask - ファイルモードマスクを表示・設定する

コマンドライン

umask [-p] [-S] [mode]

対象バージョン

説明

新規にファイルを作成する際に落とすべき パーミッション のマスクを表示したり設定したりします。引数無しで実行すると現在のファイルモードマスクを表示します。多くの場合デフォルトで 0022 が指定されています。

$ umask
0022

umask の値が 000 の場合、新規にファイルを作成すると 666(rw-rw-rw-)が、ディレクトリを作成すると 777(rwxrwxrwx) のパーミッションが設定されます。umask の値が 022(----w--w-) の場合、グループの w と他者の w のフラグがマスクされ、新規ファイルは 644(rw-r--r--)、ディレクトリは 755(rwxr-xr-x) となります。

$ umask 077           # umask に 077 を指定
$ mkdir ./work        # work ディレクトリを作成
$ ls -ld ./work       # パーミッションを確認
drwx------ 2 root root 4096 Jul 12 18:18 ./work

オプション

-p
マスク表示の際、設定コマンドと同じ書式で表示します。
$ umask -p
umask 0022
-S
マスク表示の際、8進数ではなくマスク非対称の rwx で表示します。
$ umask -S
u=rwx,g=rx,o=rx

詳細

chmod で指定する桁数と合わせるために umask を引数無しで実行すると setuid, setgid, sticky ビットを含めた4桁の7進数が表示されますが、umask でマスクを指定する際は最上位の1桁は無視されます。

$ umask 7022        # 4桁で指定しても
$ umask             # 4桁目は無視される
0022