2,812 views
この記事は最終更新から 1415日 が経過しています。
現在の設定値を見てみる。
$ umask
0002
左端の 0は 8進数を表すものなので、マスク値として意味があるのはその右側の三桁 002 だ。
それぞれ左側から、
0 : user (=owner)
0 : group
2 : other
となる。
つまり…
所有者と同じグループのユーザーに対しては、新規ファイル作成時にアクセス権のマスク無し、
部外者に対しては、新規ファイル作成時にアクセス権に 2 のマスクをかける、
ということだ。
では 2とは何か?
マスク値は以下のように定義されている。
001b (1d) : 実行属性
010b (2d) : 書き込み属性
100b (4d) : 読み込み属性
つまり…
2とは、部外者に対して「書き込みアクセスを許可しない」という設定なのだ。
umask コマンドはこのデフォルト値の変更もできる。
例1: 部外者からのアクセスを封じる場合
「部外者には触らせない。ファイルの存在すら教えない。」という厳しい制限にする場合は全部をマスクする。
すなわち、 111b なので 7 とすればよい。
$ umask 0007 $ umask 0007
例2: 自分以外には書き込ませない場合
「自分以外の書き込みを許さない」という場合、グループメンバーと部外者の書き込み属性をそれぞれマスクする。
すなわち、010b なので 4 とすればよい。
$ umask 0044 $ umask 0044
例外?
例外と言うか…
当然だが root ユーザーは何にでもアクセスできる。