umask ユーマスク

英語表記umask

日本語表記ファイル作成時マスク設定

正式名称umask

危険度安全

What does it mean?

新規作成物の初期権限を決めるマスク値を表示または設定します。chmodが後から変える道具であるのに対し、umaskは最初から作られる権限を制御します。

Command Quest

umask を今日の道具にする

新規作成物の初期権限を決めるマスク値を表示または設定します。...

$ umask [-p] [-S] [モード]
関連用語4
次のコマンド0
FAQ2
参照4

概要

新規作成物の初期権限を決めるマスク値を表示または設定します。chmodが後から変える道具であるのに対し、umaskは最初から作られる権限を制御します。

基本構文

umask [-p] [-S] [モード]

詳細解説

umaskは、新しく作成されるファイルやディレクトリの初期権限から、一定のビットを差し引くための仕組みです。シェルの現在の実行環境に作用するため、通常はシェル組み込みとして提供されます。

一般に通常ファイルの基準値は666、ディレクトリの基準値は777と考え、その値からumaskで指定したビットを外して最終的な初期権限が決まります。

実務では、共同作業ディレクトリ、秘密情報の保存先、サービス起動ユーザーの環境などで重要です。

このコマンドを使う場面

ログイン時の既定権限を整える時、サービス実行前に安全な初期権限を決めたい時、共有作業のしやすさと秘匿性のバランスを取りたい時に使います。

まず安全に試す方法

1. umask 022
2. touch file1 && mkdir dir1
3. ls -ld file1 dir1
4. umask 077
5. touch file2 && mkdir dir2
6. ls -ld file2 dir2

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. 二つの値でファイルとディレクトリを作り、初期権限の差を確認します。

  2. umask -Sの出力を読めるようにします。

資格試験との関連

  • LinuC レベル1
    範囲: 1.02.1 ファイルの所有者とパーミッション
    根拠: official
    LinuCレベル1では、所有者、グループ、パーミッション、生成時マスクの理解が重要です。
  • LPIC-1
    範囲: 104.5 Manage file permissions and ownership
    根拠: official
    LPIC-1では、所有者、グループ、モード、生成時マスクの理解が重要です。
  • 共通基礎
    範囲: Linuxコマンド基礎
    根拠: editorial
    試験横断で、umaskはLinux運用の基礎体力を支える重要なコマンドです。

オプション

  • -S
    記号表記で表示します。
    umask -S
  • -p
    再利用しやすい形式で表示します。
    umask -p
  • 8進数 モード
    8進数でマスク値を設定します。
    umask 027
  • 記号表記 モード
    記号表記でマスク値を設定します。
    umask u=rwx,g=rx,o=

実行結果サンプル

  • umask 022 touch file1 mkdir dir1 ls -ld file1 dir1
    -rw-r--r-- ... file1
    drwxr-xr-x... dir1
  • umask 077 touch file2 mkdir dir2 ls -ld file2 dir2
    -rw------- ... file2
    drwx------ ... dir2

戻り値コード

  • 0 正常終了。表示または設定に成功しました。
  • >0 不正なモード指定などで設定できませんでした。

使用例

  • umask
  • umask 022
  • umask 077
  • umask -S

よくあるエラー

  • umask 755のつもりで設定した
    原因: umaskは与える値ではなく外す値です。
    対処: 基準値から差し引く仕組みを理解し、022や077の意味を整理します。
  • 親シェルへ反映されない
    原因: 子シェルや別プロセスで実行しました。
    対処: 現在のシェルで実行するか、初期化ファイルへ設定します。

導入・互換性情報

umaskはPOSIXで定義されるシェル組み込みです。外部コマンドではないため、別プロセスで実行しても親シェルの設定は変わりません。

注意点 / セキュリティリスク

危険度は低いものの、影響は見えにくく長く続きます。シェル初期化ファイルへ誤ったumaskを書くと、新規作成物すべての初期権限が意図せず変わります。

FAQ

  • Q. 022と077はどう使い分けますか。
    A. 022は一般的な共有前提、077は秘匿性を高めたい用途でよく使われます。
  • Q. 既存ファイルに影響しますか。
    A. いいえ。新規作成物の初期権限にだけ影響します。

関連用語

  • permission
  • mode bits
  • umask
  • 最小権限

参照リンク

関連記事