本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 1 : ユーザーコマンド (N~Z) > u

umask(1)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

umask ― ファイルモード作成マスクの設定と表示

構文

マスクの設定:

umask mask

マスクの表示:

umask [-S]

説明

umask コマンドは、ファイルモード作成マスクの値の設定と、 現在の値の表示を行います。 このマスクは、本コマンド発行後に作成されたファイルの ファイルモード (パーミッション) ビットの初期値に影響を与えます。

ファイルモード作成マスクの設定

umask mask コマンドは、現在のシェル実行環境での新しい ファイルモード作成マスクを設定します。 mask には、シンボリック値または数値 (旧形式) が指定できます。

シンボリックマスクを使用すると、柔軟性の高い方法で、 マスクパーミッションビットを 1 つずつまたはまとめて 修正することができます。 数値マスクは、全パーミッションビットを一度に指定します。

マスクが指定された場合、標準出力への書き込みは行われません。

シンボリックマスク値

シンボリックな mask は、現在のファイルモード作成マスクの置換または修正を行います。 これは、以下のフォーマットに従い、 カンマで区切ったオペレーションのリストとして指定します。 空白スペースは使用できません。

  • [who][operator][permissions][, ...]

各フィールドには次の値を指定します。

who 

以下の文字を 1 個または複数個指定します。

u 

ユーザー (所有者) 用のパーミッションを修正します。

g 

グループ用のパーミッションを修正します。

o 

その他のパーミッションを修正します。

または、以下の文字を指定します。

a 

全対象のパーミッションを修正します (a = ugo )。

operator 

以下の記号を 1 つ指定します。

+ 

permissionswho 用の既存のマスクに追加します。

- 

permissionswho 用の既存のマスクから削除します。

= 

who 用の既存のマスクを permissions で置換します。

permissions 

以下の文字を 1 個または複数個指定します。

r 

読み取りパーミッション

w 

書き込みパーミッション

x 

実行/検索パーミッション

フィールドが 1 個または 2 個省略された場合は、 以下のテーブルが適用されます。

入力されたフォーマット処理内容入力同等の値
whowho 用の現在のパーgg=
ミッションの削除  
operatorなし-(なし)
permissions右記に同じ:rwa+rw
a permissions  
who=who 用の現在のパーu=u=
ミッションの削除  
who+なしu+(なし)
who-なしu-(なし)
whopermissions右記に同じ:uxu=x
who = permissions  
operatorpermissions右記に同じ: -rwa-rw
a operatorpermissions  

数値マスク (旧形式)

数値 mask は、現在のファイルモード作成マスクを置換します。 これは、以下のモードビットの論理的 OR (和) である、符号なし 8 進整数 として指定されます (先頭のゼロは省略可能です)。

0400  a=rwx,u-r)  所有者による読み取り
0200  a=rwx,u-w)  所有者による書き込み
0100  a=rwx,u-x)  所有者による実行(ディレクトリの検索)
0040  a=rwx,g-r)  グループによる読み取り
0020  a=rwx,g-w)  グループによる書き込み
0010  a=rwx,g-x)  グループによる実行/検索
0004  a=rwx,o-r)  その他による読み取り
0002  a=rwx,o-w)  その他による書き込み
0001  a=rwx,o-x)  その他による実行/検索

現在のマスク値の表示

現在のファイルモード作成マスク値を表示するには、 以下のコマンドを使用します。

umask -S 

現在のファイルモード作成マスクをシンボリック形式でプリントします。

u=[r][w][x],g=[r][w][x],o=[r][w][x] 

r (読み取り)、 w (書き込み)、および x (実行/検索) の各文字は、 u (ユーザー/所有者)、 g (グループ)、および o (その他) のマスクの中でクリアされているビットを表します。 その他のビットはすべて設定されています。

umask 

現在のファイルモード作成マスクを 8 進数としてプリントします。

0[o][o][o]

数値マスクの中でビットがゼロの箇所は、シンボリック値の中で r, w, および x パーミッション文字が表示されることに相当します。 数値マスクの中でビットが 1 の箇所は、シンボリック値の中で パーミッション文字が表示されないことに相当します。

実現方法により、1 桁から 4 桁の 8 進数が表示されます。 第 1 桁は常にゼロです (「制約」を参照)。 右 3 桁 (3 桁に満たない場合は必要なだけ先頭にゼロを補って考えてください) は、 マスク中で設定またはクリアされているビットを表します。

どちらの形式が生成する出力も、その後、 umask コマンドでマスクを設定する際の mask 引き数として使用することができます。

一般的なオペレーション

新規ファイルを作成するとき ( creat(2) を参照)、ファイルモードの各パーミッションビットは、 ファイルモード作成マスクの中の対応するビットが 設定されている場合、クリアされます (ディスエーブルになります)。 逆に、マスク中でクリアされているビットについては、 新たに作成したファイルのファイルモード中で対応するビットが イネーブルになります。

たとえば、マスク u=rwx,g=rx,o=rx (8 進の 022) は、グループおよびその他の書き込み パーミッションをディスエーブルにします。 その結果、 ls -l コマンドを使用すると -rwxrwxrwx (8 進の 777) と表示されるファイルモードで通常作成されるファイルは、 モードが -rwxr-xr-x (8 進の 755) になります。 また、ファイルモード -rw-rw-rw- (8 進の 666) で作成されるファイルは、モードが -rw-r--r-- (8 進の 644) になります。

ファイル作成モードマスクは、ユーザー ID 設定、 グループ ID 設定、または「スティッキー」ビットには 影響しません。

chmod コマンドもファイル作成モードマスクを使用します ( chmod(1) を参照)。

umask は、現在のシェル実行環境に影響を与えるので、 一般にシェルの正規の組み込みコマンドとして提供されます (「制約」を参照)。

umask を、たとえば次のように、 サブシェルまたは別のユーティリティ実行環境から起動した場合、

(umask 002) 
nohup umask ...
find . -exec umask ...

呼び出し側の環境の ファイルモード作成マスクには影響がありません。

デフォルトのマスクは u=rwx,g=rwx,o=rwx (8 進の 000) です。

戻り値

umask が終了すると、次の値を返します。

 0 

ファイルモード作成マスクが正常に変更された場合、または mask オペランドが指定されていない場合

>0 

エラーが発生した場合


\" OK FOR SGML

以下の例では、各行に、同じ処理を達成するための 異なる方法を示します。

ファイルの所有者には読み取りおよび書き込みの各パーミッションを与え、 これ以外のユーザーには読み取りの 各パーミッションを与える umask 値を設定します (ls -l は新たに作成されたファイルについて -rwr--r-- を表示します)。

umask u=rwx,g=rx,o=rx    シンボリックモード
umask a=rx,u+w           シンボリックモード
umask 022                数値モード

ファイルの所有者には読み取りおよび書き込みパーミッションを与え、 同じグループのその他のユーザーには読み取りパーミッションを与え、 さらにその他にはアクセスパーミッションをまったく与えない umask 値を設定します (-rw-r----- )。

umask a-rwx,u+rw,g+r     シンボリックモード
umask u=rw,g=r,o=        シンボリックモード
umask ,u+rw,g+r          シンボリックモード
umask 137                数値モード

ユーザー全員について読み取り、書き込み、および実行の パーミッションをすべて削除する umask 値を設定します (---------- )。

umask a=                 シンボリックモード
umask 777                数値モード

ユーザー全員の現在のマスクに、書き込みパーミッションを 追加します (これに相当する数値モードはありません)。

umask a+w                シンボリックモード

警告

ユーザー (所有者) に対して読み取りまたは書き込みアクセスを 禁止するようなマスクを設定した場合、エディターのように 一時ファイルを作成するプログラムの多くは、ファイルのデータに アクセスできないため、正常に動作できなくなります。

制約

umask コマンドは、個別の実行可能ファイル (/usr/bin/umask) と組み込みシェルコマンドの両方の形でインプリメントされます。

POSIX シェルと個別のファイル

すべての機能がサポートされます ( sh-posix(1) を参照)。 数値マスク表示は、少なくとも 2 桁使用します。

K シェル

K シェル組み込みコマンドでは、 -S オプションがサポートされません ( ksh(1) を参照)。 数値マスク表示は、少なくとも 2 桁使用します。

C シェル

C シェル組み込みコマンドでは、 -S オプションおよびシンボリックマスク値がサポートされません ( csh(1) を参照)。 数値マスク表示は、少なくとも 1 桁使用します。

参照

chmod(1), csh(1), ksh(1), sh-posix(1), sh(1), chmod(2), creat(2), umask(2)

標準準拠

umask: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.