ユーザー ファイル作成モード マスク (umask) は、新しく作成されたファイルの読み取り/書き込み/実行権限の既定値を設定するために使用できる組み込みのシェル コマンドです。 「.cshrc」または「.profile」シェル起動ファイルで実行する必要があります。
これには、ファイルに割り当てられる可能性のある許可の逆バイナリを表す 3 桁の 8 進値が与えられます。この 3 桁の数値引数は、ファイルの作成時に「禁止」または「マスクアウト」されるアクセスを表します。
ファイルが作成されると、その許可は、作成プログラムが要求するものから「umask」設定が禁止するものを差し引いたものに設定されます。したがって、必要な値は、目的の数値ファイル モードの 8 進補数です。数字は、以下に示す権限を付与します:
8 進数 | バイナリ | 権限 |
---|---|---|
0 | 000 | rwx |
1 | 001 | rw- |
2 | 010 | r-x |
3 | 011 | r– |
4 | 100 | -wx |
5 | 101 | -w- |
6 | 110 | –x |
7 | 111 | (なし) |
「umask」の変更
目的の値を決定するには、取得したいファイル モードに相当する数値を計算し、それを 777 から差し引きます。
たとえば、デフォルトでモード 751 を取得するには、777-751=026 を計算します。これは、「umask」に指定する値です
% umask 026
このコマンドが実行されると、今後作成されるすべてのファイルにこの保護が自動的に付与されます。
「umask」値を計算するもう 1 つの方法は、「umask」の数字 2 が書き込み許可をオフにし、数字 7 が読み取り、書き込み、および実行許可をオフにすることを覚えておくことです。
一般的な「マスク解除」値
デフォルトでは、ほとんどの UNIX バージョンは、新しいファイルを作成するときに 666 の 8 進数モードを指定します (すべてのユーザーがファイルを読み書きできます)。同様に、新しいプログラムはモード 777 で作成されます (すべてのユーザーがプログラムを読み取り、書き込み、または実行できます)。
最も一般的な umask 値は 022、027、および 077 です。umask 値が 022 の場合、所有者はすべての新しく作成されたファイルの読み取りと書き込みの両方が許可されますが、それ以外のすべてのユーザーはそれらのファイルを読み取ることしかできません:
- 0666 :デフォルトのファイル作成モード。
- 022 :結果モード。
- 0644 :結果モード。
umask 値を 077 にすると、ファイルの所有者だけが新しく作成されたすべてのファイルを読み取ることができます:
- 0666 :デフォルトのファイル作成モード。
- 077 :umask.
- 0600 :結果モード。
多くの UNIX システムでは、デフォルトの umask は 022 です。すべてのプロセスが init の子孫であるため、これは init プロセスから継承されます。
一般的な umask 設定の表
umask | ユーザー アクセス | グループ アクセス | その他 |
---|---|---|---|
0000 | すべて | すべて | すべて |
0002 | すべて | すべて | 読み取り、実行 |
0007 | すべて | すべて | なし |
0022 | すべて | 読み取り、実行 | 読み取り、実行 |
0027 | すべて | 読み取り、実行 | なし |
0077 | すべて | なし | なし |