1.02.1標準
シェルでumaskを027に設定した。
通常のプログラムが基準モード666で新しい通常ファイルを作成する。
作成直後の一般的なモードはどれか。
× 不正解
基準666からumask 027のビットを除くため、通常ファイルは640になる。umaskは権限を追加しない。
詳細解説
正しい
640666からumask 027で禁止されたgroup writeとotherの全権限を除く。
正しい。ownerのrwとgroupのrが残り、otherはすべて除かれて640になる。
誤り
650通常ファイルの基準モードに実行権限は含まれない。
誤り。通常ファイルの基準666にxはなく、umaskから実行権限は追加されない。
誤り
666umaskによる権限制限が反映されていない。
誤り。666は作成要求の基準であり、umask 027を反映していない。
誤り
027umask値自体が完成モードになるわけではない。
誤り。027は除外マスクであり、新規ファイルへ直接設定されるモードではない。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp -d); (umask 027; : >"$tmp/file"); stat -c '%a' "$tmp/file"; rm -rf "$tmp"期待される結果
640理解のポイント
- fileの基準は666
- umaskは禁止ビット
- 027はgroup writeとotherを除く
確認時の注意
- 確認環境: POSIX shell / GNU stat
基礎のおさらい
umaskの方向
umaskは作成要求から権限を除く仕組みで、要求にない権限を追加しない。
ファイルとディレクトリ
一般的な基準は通常ファイル666、ディレクトリ777で異なる。
問題IDKL-101-378
確認環境POSIX shell / GNU stat
最終技術確認2026-08-13
誤り・権利侵害を報告