ディレクトリの場合、「読み取り」アクセスでは内容を一覧表示でき、「実行」アクセスではディレクトリを走査してその子 (ファイルまたはサブディレクトリ) の 1 つを開くことができます。削除すると:
- 読み取りアクセスだけで、名前を推測してサブディレクトリにアクセスできます
- 実行フラグだけで、コンテンツにアクセスできなくてもコンテンツの名前をリストできます。
- ディレクトリに対する読み取り権限と実行権限の両方があり、その下にあるものはアクセスできなくなり、再帰的な変更を行う必要はありません。
もちろん、再帰的な変更を行った場合、最上位ディレクトリへのアクセス権が偶発的に非再帰的にリセットされても、影響は少なくなります。
言うまでもなく、2 日前にファイルを作成し (一般公開モードで)、誰かがそのファイルを昨日読んだり、コピーを作成したりした場合、そのファイルを非公開にするために今日できることは何もありません。 /P>
xenoid は、(やや単純化して) ディレクトリからグループやその他のアクセス許可を削除すると (今日、今)、「その下にあるものはすべて到達不能になり、再帰的な変更を行う必要はない」と述べています。 01
の場合、同意します あなたの(トップレベルの)ディレクトリを適切に変更してください。将来(つまり、これから)あなた以外の誰もそこに入ることができなくなります。しかし、落とし穴がいくつかあります。
ハードリンク
2 日前に作成したファイルを覚えていますか?敵対者が昨日そのファイルへのハード リンクを作成したとします (ファイルをコピーするのではなく)。 あなたの (最上位の) ディレクトリのみを削除すると、そのファイルは、作成時に割り当てた一般公開の読み取り許可を引き続き保持するため、悪意のある人物は将来もファイルを読み取ることができます — (潜在的に) 後で変更したとしてもそれ。再帰的な 27
を実行すると 、これにより、ファイルのアクセス許可が保護され、リンクに影響します。 悪者はまだ 30
を実行できます そのため、いつ変更したか、どのくらいの大きさかを確認できますが、再度読み取ることはできません。
作業ディレクトリ
あなたの 42
の下で、 ディレクトリ、あなたは 59
を持っています ディレクトリであり、一般に読み取り可能です。そして、5 分前に悪者がターミナル ウィンドウを開いて言ったとします
cd /home/clemisch/secret/plans
さて、 69
を実行した後 76
で 悪者の作業ディレクトリはまだ 84
、そして彼らはそのディレクトリをリストし続け、そこにあるファイルにアクセスし続けることができます。もちろん、一度 99
他の場所に移動するか、そのウィンドウを閉じるか、ログアウトするか、マシンを再起動すると、アクセスできなくなります。
再帰的な 103
を実行すると 、これにより、すべてのファイルとすべてのディレクトリのアクセス許可が保護され、不法占拠者はすぐにアクセスできなくなります.
マシンがコンソールからのみアクセスされるパーソナル コンピューターである場合、これはそれほど大きなリスクではない可能性があります。しかし、悪者が 115
を残した可能性がある場合 または 128
セッションをバックグラウンドで実行している場合、彼らはこの攻撃を使用できます。また、マシンが 135
をサポートしている場合 (または他のリモート アクセス。おそらく FTP で十分でしょう)、この攻撃を使用できます。
ヒューマンエラー
xenoid が回答で指摘したように:再帰的な 148
を実行する場合 155
で 今日、そして明後日あなたは誤って166
(のみ) トップレベルのディレクトリを 755 に戻しても、今日の再帰的な 171
によって引き続き保護されます — 189
以下のすべてのファイルとディレクトリ まだ読めません。 (もちろん、新しい 198
のファイル 明日、それを誰でも読めるようにすると、207
のアクセス許可を開いたときに公開されます。 ディレクトリ。しかし、今日の 211
が 再帰的かどうか)
mazunki は次のようにコメントしています。 権限を持っています。」彼らが何を意味しているのかはわかりませんが、このシナリオを考えてみてください。 234
を実行したい 2 つのファイル間:
249
253
しかし、それらのファイルがどこにあるのか正確にはわからず、探し回る必要があります。したくなるかもしれません
cd plans
cd the/quick # looking for file1
cd brown/fox # found it!
cp file1 /tmp
cd ../../../../..
cd jumps/over
cd the # looking for file2
cd lazy/dog # found it!
diff /tmp/file1 file2
これを行うと、264
274
と同じ保護があります —これが、再帰的な 286
を実行するもう 1 つの理由です。 今日。
もう 1 つ
悪者が 5 分前にあなたの秘密のファイルの 1 つを開き、それを開いたままにしておくと、後でそれを読み取れる可能性があります — 可能性 改造しても。幸いなことに、これは実行するのがややトリッキーな攻撃です — 297
を実行する前に、悪者は少し考えなければなりません。 .悪いニュースは、この攻撃を防御するのが非常に難しいことです。再帰的な chmod は役に立ちません。
__________
そしてもちろん、特権ユーザー / プロセス
追記コマンドを少し短くすることができます:309
314
と同等です . (それは再帰的な 324
にはなりません もちろんもっと速く。)