はじめに
Linuxを勉強していると、
ほぼ確実に出てくるのがこの数字。
chmodの説明で
「読み・書き・実行です」
と言われても、
-
なぜ755なのか
-
644と何が違うのか
-
ファイルとディレクトリで同じでいいのか
ここがスッと理解できない人は多いです。
しかもこのあたり、
LinuC試験でも普通に出てくるうえに、
実務でも避けて通れません。
この記事では、
-
chmodの数値の意味
-
755 / 644 がよく使われる理由
-
ファイルとディレクトリで考え方が違う点
-
デフォルト権限(umask)の話
を、暗記に頼らず理解できる形で解説します。
chmodの基本|そもそも何を制御しているのか
chmodは、**ファイルやディレクトリの権限(パーミッション)**を変更するコマンドです。
権限は次の3つで構成されています。
| 権限 | 意味 |
|---|---|
| r | 読み取り(read) |
| w | 書き込み(write) |
| x | 実行(execute) |
そして、これを 3つの対象 に対して設定します。
| 対象 | 意味 |
|---|---|
| 所有者 | ファイルを作ったユーザー |
| グループ | 所有グループ |
| その他 | それ以外のユーザー |
数値表記(755 / 644)の正体
数値モードは、
r / w / x を数字に置き換えたものです。
| 権限 | 数値 |
|---|---|
| r | 4 |
| w | 2 |
| x | 1 |
これを足し算します。
755 の意味
| 対象 | 計算 | 意味 |
|---|---|---|
| 所有者 | 4+2+1 = 7 | 読み・書き・実行 |
| グループ | 4+1 = 5 | 読み・実行 |
| その他 | 4+1 = 5 | 読み・実行 |
👉 実行可能なファイルやディレクトリによく使われます。
644 の意味
| 対象 | 計算 | 意味 |
|---|---|---|
| 所有者 | 4+2 = 6 | 読み・書き |
| グループ | 4 | 読みのみ |
| その他 | 4 | 読みのみ |
👉 通常のテキストファイルでよく使われます。
なぜファイルとディレクトリで考え方が違うのか
ここが 初心者が一番混乱しやすいポイントです。
ファイルの場合
| 権限 | 意味 |
|---|---|
| r | 中身を読める |
| w | 中身を書き換えられる |
| x | 実行できる |
👉 普通のファイルは 実行しない ので644 がデフォルトになりやすいです。
ディレクトリの場合
ディレクトリでは、意味が変わります。
| 権限 | 意味 |
|---|---|
| r | 中の一覧を見れる |
| w | 中に作成・削除できる |
| x | 中に入れる(cdできる) |
重要なのは x(実行権限)。
👉 ディレクトリに x がないと、
中に入ることすらできません。
そのため、ディレクトリには
がよく使われます。
デフォルト権限が違う理由(umask)
Linuxでは、新しく作成されたファイルやディレクトリに
最初から決まった権限が付きます。
これは umask(ユーザーマスク) によって決まります。
一般的なumaskは
です。
ファイルのデフォルト権限
ファイルの最大権限は
ここから umask(022)を引くと、
👉 だから ファイルは 644 がデフォルト。
ディレクトリのデフォルト権限
ディレクトリの最大権限は
ここから umask(022)を引くと、
👉 だから ディレクトリは 755 がデフォルト。
注意点
777を使えばいいわけではない
「全部OKだから楽」という理由で777 を使うのは 非推奨です。
-
誰でも書き換え可能
-
セキュリティ的に危険
-
実務では怒られがち
👉 必要な権限だけ付けるのが基本です。
数字は暗記しなくていい
-
r = 4
-
w = 2
-
x = 1
これだけ覚えておけば、
数字は その場で計算できます。
まとめ
chmodの数値は、
慣れると「ただの足し算」です。
ポイントを整理すると、
-
権限は r / w / x
-
数値は 4 / 2 / 1
-
755:実行可能・ディレクトリ向け
-
644:通常ファイル向け
-
ファイルとディレクトリでは意味が違う
-
デフォルト権限は umask で決まる
LinuC試験対策としても、
実務の基礎としても、
必ず押さえておきたい内容なので、
ここでしっかり理解しておきましょう。


コメント