---
title: "ファイルアクセス権とは？読取り・書込み・実行権と8進数表現【基本情報技術者試験】"
description: "ファイルの読取り・書込み・実行権を3ビットで表し、0〜7の8進数から許可される操作を判断する方法を整理します。科目Aで試行結果から各ビットの意味を推定する問題にも対応します。"
last_modified_at: "2026-07-21"
canonical_url: "https://stemtazoo.github.io/fe/file-permissions-octal/"
section: "fe"
---

## まず結論

ファイルアクセス権とは、**ファイルに対して読取り・書込み・実行のどの操作を許可するかを決める設定**です。

基本情報技術者試験では、3種類の権限を3ビットで表し、その組合せを0〜7の8進数で読む問題が出ます。

```text
読取り・書込み・実行
↓
各権限を1ビットで表す
↓
0は不許可、1は許可
```

科目Aでは、数字だけを暗記するよりも、**8進数を3ビットの2進数に直して判断する**ことが大切です。

## 直感的な説明

ファイルを一つの部屋だと考えます。

- 読取り権：中の資料を見る
- 書込み権：資料を書き換える
- 実行権：中のプログラムを動かす

3種類の許可を、それぞれスイッチで表します。

```text
0 → 許可しない
1 → 許可する
```

例えば、3ビットが `111` なら3種類すべてを許可し、`000` ならすべて不許可です。

## 定義・仕組み

3種類の権限は、それぞれ1ビットで表されます。

| ビット | 状態 |
|---|---|
| 0 | 不許可 |
| 1 | 許可 |

3ビットで表せる組合せは、`000` から `111` までの8通りです。

| 8進数 | 2進数 | 許可される権限の数 |
|---:|---:|---:|
| 0 | 000 | なし |
| 1 | 001 | 1種類 |
| 2 | 010 | 1種類 |
| 3 | 011 | 2種類 |
| 4 | 100 | 1種類 |
| 5 | 101 | 2種類 |
| 6 | 110 | 2種類 |
| 7 | 111 | 3種類すべて |

Unix系OSでは一般に、次の値を足して権限を表します。

| 権限 | 記号 | 値 |
|---|---|---:|
| 読取り | r | 4 |
| 書込み | w | 2 |
| 実行 | x | 1 |

したがって、一般的な対応は次のとおりです。

| 8進数 | 権限 |
|---:|---|
| 0 | なし |
| 1 | 実行 |
| 2 | 書込み |
| 3 | 書込み＋実行 |
| 4 | 読取り |
| 5 | 読取り＋実行 |
| 6 | 読取り＋書込み |
| 7 | 読取り＋書込み＋実行 |

ただし、試験問題によっては、各ビットと権限の対応を試行結果から推定させる場合があります。その場合は、一般的な並びを決め打ちせず、問題文の情報を優先します。

このテーマは、基本情報技術者試験の「OS」「ファイル管理」「情報セキュリティ」と関係します。公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。

## 科目Aでどう出る？

科目Aでは、8進数を設定した結果から、どのビットがどの権限に対応するかを推定する問題が出ます。

### 試行結果からビットの意味を推定する

例えば、次の結果が示されたとします。

```text
0を設定 → 読取り・書込み・実行のすべてが不可
3を設定 → 読取りと書込みは可、実行は不可
7を設定 → すべて可
```

まず、8進数を3ビットに直します。

```text
0 → 000
3 → 011
7 → 111
```

`3 = 011` で実行だけができないため、0になっている最上位ビットが実行権だと分かります。

```text
011
↑
この0が実行権
```

したがって、`4 = 100` は最上位ビットだけが1なので、実行だけが許可されます。

このような問題では、次の順で考えます。

```text
1. 8進数を3ビットの2進数に直す
2. 0は不許可、1は許可と確認する
3. 試行結果から各ビットの役割を推定する
4. 選択肢の数字を2進数に直して照合する
```

### 選択肢を切るときの見方

| 数字 | 2進数 | 判断 |
|---:|---:|---|
| 2 | 010 | 1種類だけ許可 |
| 4 | 100 | 最上位ビットだけ許可 |
| 5 | 101 | 2種類を許可 |
| 6 | 110 | 2種類を許可 |

「2種類できる」と書かれた選択肢なのに、2進数で1が一つしかない場合は、その時点で誤りです。

## 科目Bでどう使う？

科目Bでは、アクセス権の設定がプログラムやシステムの動作条件として示されることがあります。

その場合は、次の点を確認します。

```text
対象ファイルに読取り権があるか
対象ファイルに書込み権があるか
実行ファイルに実行権があるか
```

ただし、科目Bで重要なのは8進数の暗算よりも、**必要な操作に対応する権限が付いているか**を判断することです。

## よくある誤解・混同

### 8進数の数字が大きいほど、特定の強い権限になる

数字の大小ではなく、3ビットの組合せを見ます。

```text
4 → 100
3 → 011
```

4の方が数字は大きいですが、許可される権限は1種類だけです。3は2種類の権限を許可します。

### 6は必ず読取りと書込みを意味する

一般的なUnixの表記では `6 = 110 = 読取り＋書込み` です。

しかし、試行結果からビットの意味を推定する問題では、各ビットの並びが問題文から決まります。一般知識だけで決め打ちしないようにします。

### アクセス権限管理と同じ内容である

ファイルアクセス権は、**個々のファイルに対する技術的な許可設定**です。

一方、SG試験で扱うアクセス権限管理は、誰にどの権限を付与し、異動・退職時に変更・削除するかという**運用管理**が中心です。

運用面の判断は、[アクセス権限管理とは？付与・変更・削除の流れを整理【SG試験】](https://stemtazoo.github.io/sg/access-rights-management/)で確認できます。

## まとめ（試験直前用）

- 読取り・書込み・実行を各1ビットで表す
- 0は不許可、1は許可
- 8進数0〜7は、3ビットの組合せに対応する
- 科目Aでは、まず8進数を2進数に直す
- 試行結果がある場合は、そこから各ビットの意味を推定する
- FEは技術設定、SGは権限の付与・変更・削除という運用管理が中心
