問題
ファイルの属性情報として,ファイルに対する読取り,書込み,実行の権限を独立に設定できるOSがある。この3種類の権限は,それぞれに1ビットを使って許可,不許可を設定する。この3ビットを8進数表現0~7の数字で設定するとき,次の試行結果から考えて,適切なものはどれか。 〔試行結果〕 ① 0を設定したら,読取り,書込み,実行ができなくなってしまった。 ② 3を設定したら,読取りと書込みはできたが,実行ができなかった。 ③ 7を設定したら,読取り,書込み,実行ができるようになった。
キーボード:1〜4で選択・Enterで次へ
答え合わせ
- A
- B
- C
- D
自信の3択
えらぶと、この端末に記録します(登録はいりません)
解説
答えは b「4を設定すると,実行だけができる」 です。
権限は3つのスイッチ(読取り・書込み・実行)で、それぞれ1ビット。どのビットがどの権限かは、試行結果から読み取ります。
- ② 3(2進数 011)で「読取りと書込みはできたが、実行はできない」→ 下の2ビット(1と2)が読取りと書込み
- ③ 7(111)で全部できる → 残りの4のビットが実行
だから 4(100)を設定すると、実行だけができます。
👉 覚え方:設定値を2進数に直して、試行結果からビットの意味を当てはめる。
ほかの選択肢:a 2 は読取りか書込みのどちらか1つだけ/c 5(4+1)は実行と、読取りか書込みの1つ/d 6(4+2)も実行を含むので、読取りと書込みだけにはならない。
なぜこれが正解か
正解は b。3種類の権限にそれぞれ1ビットを割り当て,3ビットを8進数1桁(0~7)で表す。どのビットがどの権限かは〔試行結果〕から決まる。
- ① 0(000):全て不可 → ビットが1のときに許可
- ② 3(011):読取りと書込みが可,実行が不可 → 1の位と2の位のビットが読取りと書込み(どちらがどちらかは決まらない)
- ③ 7(111):全て可 → 残る4の位のビットが実行
したがって 4(100)を設定すると,実行だけが許可される。
各選択肢の解説
- a 2(010):読取りか書込みのどちらか一方だけが許可される。実行は含まれないので「読取りと実行」は誤り。
- b 4(100):実行だけが許可される(正解)。
- c 5(101):実行と,読取りか書込みの一方が許可される。「書込みだけ」は誤り。
- d 6(110):実行と,読取りか書込みの一方が許可される。「読取りと書込み」は誤り。
覚え方・ひっかけ注意
UNIXの chmod の「読4・書2・実行1」を丸暗記して当てはめると,本問では誤る。本問はビットの割当てを試行結果から推論させる問題で,3=読取り+書込み,7=全部 から「実行=4」が決まる。設定値を2進数に直し,ビットごとに意味を対応付けるのが確実。
理論的背景
アクセス権限のように独立した複数のON/OFFを1つの数値で表す方法をビットフラグ(ビットマスク)という。各権限に2のべき乗(1・2・4)を割り当てると,組合せは和(論理和)で一意に表せ,3ビットなら8進数1桁(0~7)に収まる。ある権限が含まれるかは,設定値とその権限のビットの論理積(AND)が0でないかで判定できる。本問は,この割当てが仕様として示されず,観測結果から逆算させる点に特徴がある。試行②の 3(011)と試行③の 7(111)の差は 4(100)であり,その差が「実行」に対応することから,実行=4 が確定する。一方,読取りと書込みが 1 と 2 のどちらかは試行結果からは決まらないため,選択肢の正誤判定も「読取り・書込みのどちらか一方」という形で考えればよい。
実務での使われ方
UNIX系OSのファイルパーミッションでは r=4,w=2,x=1 と定められ,所有者・グループ・その他の3クラス分を8進3桁(例:755)で表す。さらに SUID(4000)・SGID(2000)・スティッキービット(1000)を上位桁に持つ。Windowsのアクセスマスク,ネットワーク機器の設定フラグ,プログラミング言語の列挙型フラグ(C の #define で 1<<n を定義する等)など,ビットフラグは広く使われている。割当ては製品や仕様ごとに異なるので,必ず仕様書で確認することが実務の基本。
試験での位置づけ
基本情報では,2進数・8進数の変換,ビット演算(AND・OR・XOR)によるマスク処理,アクセス権限の表現が繰り返し出題される。本問のように「試行結果から規則を見つける」形式は,暗記ではなく推論を問う良問で,ビット単位で表を作れば確実に解ける。
選択肢の発展補足
各選択肢の設定値を2進数に直すと,a 2=010,b 4=100,c 5=101,d 6=110。実行ビット(100)を含むのは b・c・d で,そのうち実行ビットだけなのは b のみ。c・d は実行に加えて読取りか書込みの一方を含むため,選択肢の記述(書込みだけ,読取りと書込み)とは合わない。UNIXの r4/w2/x1 を当てはめると d が正しく見えるため,暗記に頼った受験者を誤らせる構成になっている。
出典と作り方
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成27年度 春期 問44/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。

