宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
「新しく作ったファイルのパーミッションが毎回 644 になるけど、なぜ?」
「ディレクトリを作ると自動的に 755 になる仕組みが知りたい」

この動作を制御しているのが umask(ユーマスク)コマンドです。

この記事では、umask の仕組みとデフォルトパーミッションの変更方法を解説します。
数値の読み方から、設定の永続化、現場での標準設定まで順番にまとめました。
【この記事でわかること】
・umask コマンドで現在のデフォルトパーミッションマスクを確認できる
・umask の数値は「許可しないビット」を表す(ファイルは666-umask、ディレクトリは777-umask)
・umask 022 が現場標準(ファイル=644、ディレクトリ=755)
・~/.bashrc に umask を記述すると設定を永続化できる

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

umask とは何か

umask は「新規ファイル・ディレクトリ作成時に、デフォルトで許可しないパーミッションビット」を指定する設定です。

計算の仕組みは次の通りです。

ファイルの場合:666 - umask値 = 実際のパーミッション
ディレクトリの場合:777 - umask値 = 実際のパーミッション

例えば umask が 022 の場合:
・ファイル:666 - 022 = 644 → rw-r--r--
・ディレクトリ:777 - 022 = 755 → rwxr-xr-x

umask の確認と設定

1. 現在の umask を確認する

[pakira@tiger pakira]$ umask 0022 # ↑現在の umask 値が表示されます(先頭の0は8進数を示すプレフィックス)

2. 作成したファイル・ディレクトリのパーミッションを確認する

[pakira@tiger pakira]$ mkdir testdir [pakira@tiger pakira]$ ls -ld testdir drwxr-xr-x 2 pakira pakira 4096 Oct 12 14:57 testdir/ # ↑パーミッションは 777-022=755 [pakira@tiger pakira]$ touch testfile [pakira@tiger pakira]$ ls -l testfile -rw-r--r-- 1 pakira pakira 0 Oct 12 14:57 testfile # ↑パーミッションは 666-022=644

3. umask を変更する

# umask を 027 に変更する(グループの書き込みと他ユーザーのすべての権限を禁止) [pakira@tiger pakira]$ umask 027 [pakira@tiger pakira]$ mkdir testdir2 [pakira@tiger pakira]$ ls -ld testdir2 drwxr-x--- 2 pakira pakira 4096 Oct 12 15:10 testdir2/ # ↑パーミッションは 777-027=750 [pakira@tiger pakira]$ touch testfile2 [pakira@tiger pakira]$ ls -l testfile2 -rw-r----- 1 pakira pakira 0 Oct 12 15:10 testfile2 # ↑パーミッションは 666-027=640

umask の永続化

umask コマンドをターミナルで実行しても、セッションが終わると元の値に戻ります。
永続化するには ~/.bashrc/etc/profile に記述します。

ユーザー単位で永続化する

# ~/.bashrc に追記する echo "umask 022" >> ~/.bashrc # 設定を反映する source ~/.bashrc

システム全体で変更する(rootで実行)

# /etc/profile を編集して全ユーザーに適用 # 既存の umask 行を変更する [root@tiger ~]# grep -n "umask" /etc/profile 27: umask 022

現場でよく使う umask 設定

umask値 ファイル ディレクトリ 用途
022 644 755 一般的な標準設定
027 640 750 グループ外に読み取り不可にしたい場合
077 600 700 所有者のみアクセス可(高セキュリティ環境)
002 664 775 グループ内で共同作業する場合
umask の仕組みを理解しておくと、新規ファイルの権限が意図しない設定になるトラブルを事前に防げます。
現場では 022 が標準ですが、セキュリティポリシーに応じて使い分けましょう。

パーミッション設定を体系的に理解して、セキュリティトラブルを未然に防ぐ

umaskやデフォルトパーミッションを正しく設定できると、ファイル作成時のセキュリティリスクをゼロに近づけられます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。