今回紹介する問題はこちら
https://www.sg-siken.com/kakomon/04_yosou/q47.html
権限の話ね
0から7で表せだから ここで権限の話って分かった
というかまずそもそも
Linuxにおけるパーミッション(アクセス権)の数字の意味とか調べていきます。
忘れたから
この記事が参考になりそうでした。
https://ai-ex-programmer.com/linux-permission-meaning/#toc1
なるほど...
あれ?
7,5,5が所有者,所有グループ,その他のユーザー
ってことは分かったけど 読み取りとか書き込みとか実行じゃないの???
あっそうか!
所有者が7だったら この7の内訳が読み取り、書き込み、実行で構成されているんだ!
なになに
4 読み取り(read)
2 書き込み(write)
1 実行(execute)
「読み取り」(4) + 「書き込み」(2) の場合:6
「読み取り」(4) + 「実行」(1) の場合: 5
みたいな感じになるのか
まずは
読み取り:x
更新:y
配置:z
としよう。
書き込み=更新なんとなくわかるけど
配下ってなんだ????
まいっか
問題文に書いてある条件を式にするとこうなるよね
X+y+Z=0
x+y+z=3
X+y+Z=7
でもこれってxが0の時もあれば、1の時もありそうだし4の時もありそう
後選択肢がよくわからん
アの2を設定すると、読み取りと作成ができる???
じゃぁ
x+作成?=2ってこと????
この方程式を解け!
はなかなかむずそう
どうしようかな
ちょっとまって!?
配下の’ファイル作成’ だから 配下じゃなかった
配下のファイル作成=実行
ってことか
ここまで気づくのにかなり時間がかかった
書き込んだものを実行してファイルが作成するもんね
じゃぁ方程式を考えて解くのはやめて
条件をもう一度整理してみよう
0を設定したときは、読み取り、更新、作成 すべてが0
3を設定したときは 読み取り、更新ができたが作成ができなかった てことは作成が4 ここ気づくのに時間かかった
7を設定したときは 読み取り、更新、作成 すべてできる 作成が4だから 読み取り更新のパターンは 12か21のどれか
もう一度選択肢を見てみよう
あ!
アからエの中で正しいものを選べ だから3つは間違っている なのに アが正しいことが前提でなんでこうなってるの0.3.7の時と違うね?など考えてしまっている
よし答えは
アは× 作成は4だからね 5か6になるはず
イは合ってそう
ウは× 更新は1か2
エは× 読み取り更新は3
答えはイ 正解〇
よし、だいぶ時間かかったけどなんとか第1問正解できたぞ
ちなみに、解答はどうやって解いたんだ?
10進数の3と7を2進数で表してる???
こうすると、0か1で表せることができるから問題文の1ビットを使って許可不許可を表すのかな 0が不許可で1が許可的な
てか8進数はどこいったん?
全然でてきてないじゃん
というか7が全部できるって2進数にしたときに111だからだったのか
知らなかった
このやり方で解答見ずにもう一回自分でやってみようかな
まぁ忘れたときにもう一回解けばいいや
てな感じで今日は終わり