ファイルaaaは表のとおりにアクセス権が設定されている。ユーザBがファイルaaaをコピーしてファイルbbbを作成できるようにするとき,ファイルaaaへのアクセス権に関する記述のうち,適切なものはどれか。
| ファイル所有者 | アクセス権(ファイル所有者) | アクセス権(ファイル所有者以外) |
|---|---|---|
| ユーザA | R | - |
注記 アクセス権の意味 R:読込み可,W:書込み可,-:読込み・書込みいずれも不可
この問題の解説と、これまでの解答の記録です。
ファイルaaaは表のとおりにアクセス権が設定されている。ユーザBがファイルaaaをコピーしてファイルbbbを作成できるようにするとき,ファイルaaaへのアクセス権に関する記述のうち,適切なものはどれか。
| ファイル所有者 | アクセス権(ファイル所有者) | アクセス権(ファイル所有者以外) |
|---|---|---|
| ユーザA | R | - |
注記 アクセス権の意味 R:読込み可,W:書込み可,-:読込み・書込みいずれも不可
アクセス権を変更しないままだと、ユーザB に適用される「ファイル所有者以外」の権限は - のままである。- は読込み・書込みいずれも不可を意味するので、B はファイル aaa の中身を読み取ることすらできない。コピーはコピー元を読むことから始まる操作なので、読込みができない時点で bbb を作ることは不可能であり、設問の目的を満たせない。
正解 正解はイ。表を読むと、ファイル aaa の所有者はユーザA であり、アクセス権は「ファイル所有者」に対して R (読込み可)、「ファイル所有者以外」に対して - (読込み・書込みいずれも不可) と設定されている。ここで登場するユーザB は所有者ではないので、B に適用されるのは「ファイル所有者以外」の欄、すなわち現状では読むことも書くこともできない状態である。次に「コピーして bbb を作る」という操作を、ファイル単位のアクセス権に分解して考える。コピーとは、コピー元ファイルの中身を読み取り、その内容で新しいファイルを作る操作である。つまり aaa に対して必要なのは読込み (R) だけであり、書込み (W) はコピー元に対しては一切不要である。書き込みが発生するのは新規に作られる bbb の側であって、bbb は aaa とは別のファイルなので aaa のアクセス権とは関係しない。よって、B にコピーを許可するために aaa 側で行うべき最小限の変更は、「ファイル所有者以外」のアクセス権に R (読込み可) を追加することである。これは必要な権限だけを与えるという最小権限の考え方にも合致し、aaa の内容を B に書き換えられる危険を作らずに目的を達成できる。したがってイが適切である。
「ファイル所有者以外」に追加するのが W (書込み可) では、ユーザB は aaa に書き込めるようになるだけで、依然として aaa を読み取れない。コピーに必要なのはコピー元の読込みであって書込みではないため、これでは bbb を作れない。しかも W を与えると B が aaa の内容を上書き・破壊できてしまい、目的に不要な権限まで与える点で最小権限の原則にも反する。
「ファイル所有者」の欄はファイル aaa の所有者、すなわちユーザA にだけ適用される権限である。そこへ W を追加してもユーザA が aaa に書き込めるようになるだけで、所有者以外であるユーザB の権限は - のまま変わらない。B は相変わらず aaa を読めないのでコピーできず、設問が求める状態にはならない。所有者と所有者以外のどちらの欄が誰に効くのかを取り違えた選択肢である。