名前 | 形式 | 機能説明 | オプション | オペランド | 出力 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目
/usr/bin/mask [-S] [mask]
umask [ooo]
umask [ooo]
umask [-S] [mask]
umask ユーティリティは、現在のシェル実行環境のファイルモード生成マスクを mask オペランドが示す値に設定します。このマスクは、 以降生成されるファイルのファイル許可ビットの初期値に影響します。以下のように、サブシェルや別のユーティリティ実行環境で umask が呼び出された場合は、
(umask 002) nohup umask ... find . -exec umask ... |
呼び出し側の環境のファイルモード生成マスクには影響しません。このため /usr/bin/umask ユーティリティは、 進行中のセッションにある umask の変更には使用できません。この機能は、呼び出し側の umask の確認を限定するものです。進行中のセッションにある umask を変更するには、 シェルの組み込みコマンドを使用する必要があります。
mask オペランドが省略されると、 umask ユーティリティは呼び出し側プロセスのファイルモード生成マスクの値を 標準出力に書き出します。
ユーザーのファイル生成モードマスクを ooo で示す値に設定します。ooo は 3 つの 8 進数で、左から順番に所有者、 グループ、その他のユーザー用の、読み取り /書き込み/実行権 を表します。詳しくは chmod(1) 、 chmod(2) 、 umask(2) の説明を参照してください。umask で指定したそれぞれの値は、 ファイル生成時にシステムが指定する値から減算されます (creat(2) を参照)。たとえば umask 022 と指定すると、グループとその他のユーザーに対する書き込み権が取り除かれます。モード 777 で標準的に生成されたファイル (およびディレクトリ) はモード 755 になります。モード 666 で生成されたファイル (およびディレクトリ) はモード 644 になります。
ooo 引数を省略すると、マスクとして用いられている現在の値が出力されます。
umask はシェルにより認識され実行されます。
ユーザーの .profile に umask を登録しておくと (profile(4)) を参照)、ログイン時に実行され、生成されたファイルやディレクトリに対するユーザーのアクセス権モードが自動的に設定されます。
前述の、sh の umask 組み込みコマンドにについての説明を参照してください。
ユーザーファイルの作成時のマスクを mask 引数が示す値に設定します。mask には、chmod(1) で説明する記号値または 8 進数を指定できます。記号値を指定すると、 新しい umask 値は、 mask を直前の umask 値の補数に適用した結果の補数になります。mask 引数を省略すると、マスクの現在の値を表示します。
次のオプションを指定できます。
記号出力を生成します。
デフォルトの出力形式は不定ですが、 同じシステム上の以降に umask が呼び出されたときには、以前のファイルモード生成マスクを復元する mask オペランドとして認識されます。
次のオペランドを指定できます。
新しいファイルモード生成マスクを指定する文字列。この文字列は chmod(1) マニュアルページで説明されている mode オペランドと同じ方法で扱われます。
記号 値の場合、ファイルモード生成マスクの新しい値は、 記号 文字列が指定しているファイルモードの ファイル許可ビット部分の論理補数です。
記号値の許可 op 文字 + と – は、現在のファイルモード生成マスクとの相対的な関係で解釈されます。+ は、示された許可をマスクからクリアします。- は、示された許可ビットをマスクに設定します。
ファイル許可ビット以外のファイルモードビットを指定する mode 値の解釈は不定です。
ファイルモード生成マスクは、結果の数値に設定されます。
同じシステム上で以前にオペランドを指定せずに umask を実行した場合のデフォルト出力も、 mask オペランドとして認識されます。この方法で得たオペランドは、たとえ 8 進数であっても、無効ではありません。
mask オペランドが省略されると、 umask ユーティリティは、後で umask の mask オペランドとして使用可能なメッセージを標準出力に書き出します。
-S が指定されると、メッセージは以下の形式になります。
"u=%s,g=%s,o=%s\n", owner permissions, group permissions, \ other permissions |
3 つの値は、 {r, w, x} セットの文字の組み合わせです。文字がある場合は、ファイルモード生成マスク内の対応するビットが 設定されていないことを示しています。
mask オペランドが指定されると、標準出力には何も出力されません。
この節の例では、/usr/bin/umask ユーティリティと ksh の組み込み umask について説明します。
次のコマンドを見てください。
umask a=rx,ug+w umask 002 |
これらのコマンドは、どちらも以降生成されるファイルの S_IWOTH ビットがクリアされるように、モードマスクを生成します。
上記のコマンドはどちらもモードマスクを設定した後、umask コマンドを使用してモードマスクの現在の値を書き出すことができます。
example$ umask 0002 |
出力形式が指定されていませんが、これまでの実装では従来の 8 進整数モードの書式が使用されます。
example$ umask -S u=rwx,g=rwx,o=rx |
この出力はどちらも、以降の umask 呼び出しで mask オペランドとして使用できます。
上記のようにモードマスクが設定されていると想定した場合、
umask g-w |
このコマンドは、以降生成されるファイルの S_IWGRP ビットと S_IWOTH ビットがクリアされるように、モードマスクを設定します。
次のコマンドを見てください。
umask –-w |
このコマンドは、以降生成されるファイルの書き込みビットがクリアされるように、モードマスクを設定します。なお mask オペランドの r、w、x 、またはハイフン (-) で始まるものは、オプションと間違われないようにその前に – を付ける必要があります。
umask の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LANG、 LC_ALL、LC_COLLATELC_CTYPE、LC_MESSAGES、および NLSPATH。
次の属性については、attributes(5) のマニュアルページを参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWcsu |
インタフェースの安定性 |
標準 |
chmod(1), csh(1), ksh(1), sh(1), chmod(2), creat(2), umask(2), profile(4), attributes(5), environ(5), standards(5)
名前 | 形式 | 機能説明 | オプション | オペランド | 出力 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目