このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linux基礎:パーミッションの設定

パーミッションの設定
Linuxでは、すべてのファイルやディレクトリに「所有者」と「所有グループ」が設定されています。しかし、所有者やグループだけではアクセスの制御は十分ではありません。複数のユーザーがシステムを利用する環境では、誰がファイルを読み取れるのか、誰が編集できるのか、誰が実行できるのかを細かく制御する必要があります。これを可能にする仕組みが パーミッション(アクセス権) です。
パーミッションは「読み取り(read: r)」「書き込み(write: w)」「実行(execute: x)」の3つの権限で構成されており、それぞれ所有者・所有グループ・その他のユーザーごとに設定されます。適切なパーミッションを設定することで、セキュリティを確保しながら効率的にファイルを利用できます。

1.パーミッションの基礎
1.1. パーミッションとは
パーミッションは次の3種類の権限で構成されます。
| 権限 | 記号 | 数値 | ファイルの場合 | ディレクトリの場合 |
|---|---|---|---|---|
| 読み取り | r | 4 | ファイル内容を読む | ファイル名一覧を表示 |
| 書き込み | w | 2 | ファイル内容を編集 | ファイルの作成・削除 |
| 実行 | x | 1 | プログラムを実行 | ディレクトリに移動可能 |
これらは所有者・グループ・その他のユーザーごとに割り当てられます。
1.2. パーミッションの確認
パーミッションは ls -l コマンドで確認できます。
使用例
[user@rocky9 ~]$ ls -l file1.txt
-rw-r--r--. 1 tanaka user 55 8月 24 15:21 file1.txtこの出力から以下の情報が分かります。
rw-→ 所有者(tanaka)は読み取り・書き込み可能r--→ グループ(user)は読み取りのみ可能r--→ その他のユーザーも読み取りのみ可能
つまり、このファイルは tanaka が編集でき、他のユーザーは閲覧のみ可能 です。
2.chmodコマンドによるパーミッションの変更
2.1. コマンドの書式
パーミッションを変更するには chmod コマンドを使用します。
chmod [オプション] モード ファイル名2.2. 主なオプション
| オプション | 説明 |
|---|---|
-R | ディレクトリ以下を再帰的に変更 |
-v | 変更内容を表示 |
2.3. モードの指定方法
モードには「記号表記」と「数値表記」の2種類があります。
記号表記
u(所有者)、g(グループ)、o(その他)、a(すべて)+(付与)、-(削除)、=(指定)
例: 所有者に実行権を追加
chmod u+x file1.txt数値表記
権限の数値(r=4, w=2, x=1)を合計して指定します。
例: 所有者に読み書き、グループとその他に読み取りを付与(644)
chmod 644 file1.txt3.ファイルとディレクトリの違い
3.1. ファイルのパーミッション
例: rw-r----- の場合
- 所有者は読み書き可能
- グループは読み取りのみ可能
- その他はアクセス不可
3.2. ディレクトリのパーミッション
ディレクトリの場合、意味が少し異なります。
| 権限 | ディレクトリでの意味 |
|---|---|
| r | ファイル一覧を表示できる。 |
| w | ファイルの作成・削除が可能 |
| x | ディレクトリに移動できる。 |
3.3. 実行例
【例1】ディレクトリの読み取り権のみ
まず、workディレクトリに読み取り権限のみを付与します。
[user@rocky9 ~]$ chmod 400 work
[user@rocky9 ~]$ ls -ld work
dr--------. 2 user user 28 8月 29 22:41 work次に、workディレクトリに移動します。
[user@rocky9 ~]$ cd work
bash: cd: work: 許可がありません一覧は表示できても、中に移動はできません。
【例2】書き込み権の影響
imagesディレクトリのパーミッションを変更します。
[user@rocky9 ~]$ chmod 555 images
[user@rocky9 ~]$ ls -ld images
dr-xr-xr-x. 2 user user 24 8月 31 00:11 images
[user@rocky9 ~]$ ls -l images
合計 44
-rw-r--r--. 1 user user 44111 8月 29 22:42 dragon.jpgimagesディレクトリの中にあるdragon.jpgを削除します。
[user@rocky9 ~]$ rm images/dragon.jpg
rm: 'images/dragon.jpg' を削除できません: 許可がありません削除にはディレクトリ自体に書き込み権が必要です。
まとめ
- パーミッションは「r」「w」「x」の3種類で構成される。
- 所有者・所有グループ・その他ユーザーごとに設定できる。
ls -lで確認、chmodで変更可能。- 記号表記と数値表記の両方がある。
- ディレクトリのパーミッションは「移動」「一覧」「作成・削除」に影響する。
パーミッションを適切に設定することで、ファイルやディレクトリのセキュリティを強化し、不正なアクセスや意図しない操作を防ぐことができます。
