教師がコースを始める前に、学生のためにコース全体をカバーする一連のサプライズテストを準備しているとしましょう。
tests
├── subject1
│ └── exam.txt
├── subject2
│ └── exam.txt
├── subject3
│ └── exam.txt
└── subject4
└── exam.txt
彼がtests
このディレクトリを各学生のコンピュータユーザーのホームディレクトリに配置するとします。
その後、彼は次の権限を再帰的に設定します。
owner: teacher
group: teachers
mode: 550
tests
他の先生だけが見えるようにディレクトリに置いてください。科目を読むことができるまた、テストテキストへのアクセスも提供します。
最初の学期の終わりに、彼は学生が最初の裁判を受ける準備ができていると考え、出発前日の夜
owner: teacher
group: teachers
mode: 771
ディレクトリtests
と
owner: student
group: teachers
mode: 770
subject1
生徒が翌日の試験にアクセスできるように、サブディレクトリに配置します。彼が彼らに道を言った後。
翌朝、彼は学生が試験紙を読んだだけでなく、すべての科目これは、存在しないディレクトリにアクセスしようとするときと、既存のディレクトリにアクセスしようとするときにシステムが知らせるという事実を利用するためです。最後に読み取り権限がないため、事前に無差別攻撃を加えtests
ますls
。
明らかに、教師は生徒が試験の前にテキストを読み取ろうとしないと素直に信じていました。それにもかかわらず、私の質問は次のとおりです。
与えないのがどんな役に立つのだろうか?読むディレクトリに対する権限を持つユーザーは、まだディレクトリ内のすべてのオブジェクトの名前を無差別に攻撃できますか?
ユーザーがアクセスしない項目にアクセスしようとしたときにシステムが一般的なエラーを返さないのはなぜですか?
ベストアンサー1
いいえ、Unix / Linuxの「特権モデル」は「壊れた」ものではありません。これがあなたのシナリオです。
Unix / Linuxは強力なツールセットですが、それでも自分で銃を撃つことを防ぐことはできません。