
新Linux入門|ディレクトリのパーミッション設定とアクセス制御の仕組み
Linuxでは、ディレクトリにもファイルと同じように「パーミッション(アクセス権)」が設定されています。
パーミッションを正しく理解しておくことで、チームでのファイル共有やセキュリティ管理がスムーズになります。
この記事では、ディレクトリにおけるパーミッションの意味と設定方法をわかりやすく解説します。
🧩 ディレクトリとファイルのパーミッションの違い
まず押さえておきたいのは、「ファイル」と「ディレクトリ」では同じ r(読み取り)・w(書き込み)・x(実行) の権限でも意味が異なるということです。
| 権限 | ファイルの場合 | ディレクトリの場合 |
|---|---|---|
| r(読み取り) | ファイル内容を表示できる。 | ディレクトリ内のファイル名一覧を表示できる。 |
| w(書き込み) | ファイル内容を変更できる。 | ファイルやサブディレクトリを作成・削除できる。 |
| x(実行) | ファイルを実行できる(スクリプト等)。 | cdコマンドでディレクトリ内に移動できる。 |
💡 ファイルでは「内容」に対する権限ですが、ディレクトリでは「中身(構造)」に対する権限と考えると理解しやすいです。

📂 ディレクトリの読み取り権(r)
「読み取り権(r)」があると、ディレクトリ内のファイル名やサブディレクトリの一覧を表示できます。
つまり、ls コマンドで中身を確認できるようになります。
使用例
[root@AlmaLinux ~]# chmod +r projectこれで、ディレクトリ project に読み取り権限が追加されます。
ただし、読み取り権だけでは中のファイルを開くことはできません。
cdで移動したり、catで内容を確認するには実行権(x)も必要です。
確認例
[suzuki@AlmaLinux ~]$ ls -l
dr--r--r-- 2 suzuki sales 4096 Oct 29 11:00 projectこの場合、ファイル一覧は見られますが、中に入ることはできません。
🧾 ディレクトリの書き込み権(w)
「書き込み権(w)」があると、ディレクトリ内で新しいファイルやサブディレクトリを作成したり、既存のファイルを削除したりできます。
使用例
[root@AlmaLinux ~]# chmod +w projectこれで、project ディレクトリに書き込み権限が追加されます。
ただし、書き込み権だけではファイル名一覧を確認できません。
実用上は「r」と「x」を組み合わせて設定するのが一般的です。
補足
- 誤って他のユーザーに「w」だけを許可すると、削除操作ができてしまうため注意が必要です。
- 共有ディレクトリでは「他人のファイルを消せる」状況を防ぐために、適切な権限管理が求められます。
🚪 ディレクトリの実行権(x)
「実行権(x)」は、ディレクトリの中に「入る」ための権限です。
この権限がないと、cdコマンドで移動できません。
使用例
[root@AlmaLinux ~]# chmod +x projectこれで、ユーザーは cd project を実行してディレクトリ内に入ることができるようになります。
確認例
[suzuki@AlmaLinux ~]$ cd project
[suzuki@AlmaLinux project]$ 💡 実行権は「ドアの鍵」のようなものです。
開ける(入る)ためには「x」が必要、そして中を見たいなら「r」も必要です。
🧩 ディレクトリ権限の総合例
複数の権限を一度に設定することも可能です。
使用例
[root@AlmaLinux ~]# chmod +rwx projectこれで、ディレクトリ project に対して「読み取り・書き込み・実行」のすべての権限を付与します。
誰でも中を見て、変更して、移動できるようになります。
⚠️ ただし、実際の運用ではセキュリティ上のリスクがあるため、必要最低限の権限のみを与えるようにしましょう。
🔍 ディレクトリのパーミッションを確認する
ls -ld コマンドを使用すると、ディレクトリ自体のパーミッションを確認できます。
使用例
[suzuki@AlmaLinux ~]$ ls -ld project
drwxr-xr-- 2 suzuki sales 4096 Oct 29 11:00 project出力の意味
| 項目 | 内容 |
|---|---|
| d | ディレクトリを表す |
| rwx | 所有者(suzuki)の権限:読み取り・書き込み・実行可 |
| r-x | グループ(sales)の権限:読み取り・実行可 |
| r-- | その他ユーザーの権限:読み取りのみ |
| suzuki | 所有者 |
| sales | グループ名 |
🧮 ユーザー・グループ・その他の設定例
パーミッションは、所有者(u)、グループ(g)、その他のユーザー(o)に分けて設定できます。
使用例
[root@AlmaLinux ~]# chmod u+rwx,g+rx,o-rw projectこのコマンドの意味は以下の通りです。
| 区分 | 権限 | 説明 |
|---|---|---|
| 所有者(u) | +rwx | 読み・書き・実行すべて許可 |
| グループ(g) | +rx | 読み取りと移動のみ許可 |
| その他(o) | -rw | 読み書きを禁止 |
💡 各ユーザー区分に合わせて、アクセスレベルをきめ細かくコントロールできます。
🧰 chmodコマンドの概要
ディレクトリのパーミッション変更には chmod コマンドを使用します。
コマンド書式
chmod [オプション] [モード] [ディレクトリ名]主なオプション
| オプション | 説明 |
|---|---|
| -R | ディレクトリ配下を再帰的に変更する。 |
| -v | 変更内容を詳細に表示する。 |
| -c | 変更があった場合のみ出力する。 |
再帰的変更の例
[root@AlmaLinux ~]# chmod -R 755 project→ project 以下のすべてのファイル・サブディレクトリに同じ権限を適用します。
🚫 権限の削除
不要な権限を削除する場合は、マイナス(-)を使います。
使用例
[root@AlmaLinux ~]# chmod -w projectこのコマンドで、書き込み権限を削除します。
これにより、ファイルの追加や削除ができなくなります。
✅ まとめ
| 操作内容 | コマンド例 | 効果 |
|---|---|---|
| 読み取り権を付与 | chmod +r project | ディレクトリ内容の一覧表示が可能 |
| 書き込み権を付与 | chmod +w project | ファイルの追加・削除が可能 |
| 実行権を付与 | chmod +x project | cdでディレクトリに移動可能 |
| 権限をすべて付与 | chmod +rwx project | 全ての操作が可能 |
| 権限を削除 | chmod -w project | 書き込みを禁止 |
| 再帰的変更 | chmod -R 755 project | 配下すべてに適用 |
ディレクトリのパーミッションを正しく設定することは、Linuxのセキュリティ管理の基本です。
「誰が中を見られるのか」「誰が変更できるのか」を意識して、常に必要最小限の権限に留めるようにしましょう。
