GNU/Linux >> Linux の 問題 >  >> Linux

フォルダーへのアクセスを制限するために再帰的な chmod が本当に必要ですか?

ディレクトリの場合、「読み取り」アクセスでは内容を一覧表示でき、「実行」アクセスではディレクトリを走査してその子 (ファイルまたはサブディレクトリ) の 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 にはなりません もちろんもっと速く。)


Linux
  1. 不正なバックアップ/復元後の Linux ext4 復元ファイルとディレクトリのアクセス権

  2. ファイル アクセスを追加のみに制限する

  3. 巨大なフォルダの名前変更:危険ですか?

  1. ユーザーのホーム ディレクトリのファイル アクセス許可を修正する必要がある

  2. ディレクトリ サイズの制限

  3. PSCP:Windows から Linux にフォルダー全体をアップロードする

  1. Linuxの特定のディレクトリのユーザーに読み取り/書き込みアクセスを割り当てる

  2. Linuxでディレクトリとフォルダを削除する方法は?

  3. Oracle DBA には root アクセスが必要ですか?