No.058権限と所有者
umask
ユーマスク・ファイル作成時マスク設定
新規作成物の初期権限を決めるマスク値を表示または設定します。chmodが後から変える道具であるのに対し、umaskは最初から作られる権限を制御します。
答えよく使う形
$ 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
$ umask
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
覚える順番の中でLPIC-1・97 駅め / 106
どんなコマンド?
ログイン時の既定権限を整える時、サービス実行前に安全な初期権限を決めたい時、共有作業のしやすさと秘匿性のバランスを取りたい時に使います。
umaskは、新しく作成されるファイルやディレクトリの初期権限から、一定のビットを差し引くための仕組みです。シェルの現在の実行環境に作用するため、通常はシェル組み込みとして提供されます。
一般に通常ファイルの基準値は666、ディレクトリの基準値は777と考え、その値からumaskで指定したビットを外して最終的な初期権限が決まります。
実務では、共同作業ディレクトリ、秘密情報の保存先、サービス起動ユーザーの環境などで重要です。
書き方とオプション
組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。
$ umask
使用例と実行結果
行を押すとコピーできます。
-rw-r--r-- ... file1 drwxr-xr-x... dir1
-rw------- ... file2 drwx------ ... dir2
まず安全に試す
3分ミッション
手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。
0 / 2
つまずいたとき
umask 755のつもりで設定した
原因umaskは与える値ではなく外す値です。
こうする基準値から差し引く仕組みを理解し、022や077の意味を整理します。
親シェルへ反映されない
原因子シェルや別プロセスで実行しました。
こうする現在のシェルで実行するか、初期化ファイルへ設定します。
終わったときの数(戻り値)
$ echo $?
- 0正常終了。表示または設定に成功しました。
- >0不正なモード指定などで設定できませんでした。
気をつけることと入れ方
危険度は低いものの、影響は見えにくく長く続きます。シェル初期化ファイルへ誤ったumaskを書くと、新規作成物すべての初期権限が意図せず変わります。
シェル(bash など)に組み込まれたコマンドです。入れるものはありません。
環境による違い
umaskはPOSIXで定義されるシェル組み込みです。外部コマンドではないため、別プロセスで実行しても親シェルの設定は変わりません。
確かめた環境2026-04-09 に確認
よくある質問
022と077はどう使い分けますか。
022は一般的な共有前提、077は秘匿性を高めたい用途でよく使われます。
既存ファイルに影響しますか。
いいえ。新規作成物の初期権限にだけ影響します。
資格試験では
- LinuC レベル1大事1.02.1 ファイルの所有者とパーミッションLinuCレベル1では、所有者、グループ、パーミッション、生成時マスクの理解が重要です。
- LPIC-1大事104.5 Manage file permissions and ownershipLPIC-1では、所有者、グループ、モード、生成時マスクの理解が重要です。
- 共通基礎大事Linuxコマンド基礎
umask を最後まで読みました。
Linux コマンド辞典に戻る127 / 144