Windows 7以降でハードドライブまたはボリュームへのアプリケーションアクセスを拒否する


12

特定のドライブまたは論理ボリュームにアクセスするためにコンピューター上のアプリケーションの一部を拒否したいのですが、これまでのところ解決策が見つかりませんでした。

背景:私のPCには、システムドライブとしてSSDと5つのハードドライブを備えた15TB Raid-6があります。コントローラーは、10〜15分後にドライブをスピンダウンするように構成されています。Raidで何時間も何時間もアクセスする必要がない場合があるので、これは問題ありません。Adobe Readerなどの一部のアプリケーションは、何らかの理由で起動時にすべての論理ボリュームにアクセスできますが、理解できません。私の想定では、ドライブ文字が割り当てられたすべてのボリュームが影響を受けます。文字を削除して再割り当てすることはオプションではありません;)

RaidホストがこれらのボリュームにアクセスするのをAdobe Readerまたは他のアプリケーションに制限するにはどうすればよいですか?


特定のアプリケーションのアクセスを無効にする方法がわかりません。しかし、一部のアプリケーションでSSDへのアクセスを拒否するツールがあると、そのボリュームからファイルを開くことができなくなると思います。そのため、この場合、Adobe ReaderがSSDに対して何かを読み書きできるようにする機能を調べることをお勧めします。「最近のファイル」機能を見てください。たぶん、そのたびに可用性をチェックします。
VIK

SSDではなく、Raidへのアクセスを制限したい。実際、Raidのボリュームには何もありません。これは、私のコンピューターのAd​​obe Readerには役立ちません。それで、はい、私の場合、SSD上にないものをAdobe Reader内から何かにアクセスする機能を明示的に失いたいと思います。ただし、「最近のファイル」機能については正しいかもしれません(ただし、この場合、これらのボリュームからの最近のファイルはありません)。
user654123

1
別のPDFビューアを使用するなどの急進的なソリューションはどうですか?これは他のアプリの問題を解決するものではありませんが、私が理解しているように、Adobe Readerはあなたにとって最も厄介なものです。en.wikipedia.org/wiki/List_of_PDF_software
VIK

はい、それは最も迷惑なアプリケーションです:) Windowsファイアウォールを介したインターネットアクセスを拒否することは他のプログラムではうまく機能するため、その問題の組み込みソリューションがあるかもしれないと思っていました。
user654123

1
Readerを、それらのボリュームにアクセスできない別のユーザーとして実行することを検討しましたか?
TWiStErRob 14

回答:


6

Windowsには、特定のプロセスが特定のドライブにアクセスするのをブロックするネイティブのサポートされた方法はありません。これは、オペレーティングシステムがドライブアクセスを処理する方法を「現在の性質に反する」ものです。

アクセス権は、アプリケーションを起動するログオンユーザーの権限によって決定されます。したがって、ソフトウェア開発者がアクセス可能なすべてのドライブをソフトウェアで検索する必要があると判断し、それをオフにするオプションが提供されない場合...それは、特定のユースケースを考慮しないプログラミングの問題です。しかし、いくつかの回避策があります。

ハードウェア仮想化層(仮想マシンから)がアプリケーションをブロックして「実際のハードウェア」に完全にアクセスしようとするため、唯一の「確実な」ソリューションは2です。ソリューション1が機能しない場合はありませんが、理論的には回避できると思います。

オプション「1」-「低レベル」でドライブを無効にする-追加のソフトウェアは不要

オプション1a

ドライブを完全に無効にすることで、下位層のボリュームを無効にすることは可能ですが、これによりドライブ上のすべてのボリュームが無効になります。手動で起動するにはdiskmgmt.msc、ドライブを右クリックして「オフライン」とマークします。

ここに画像の説明を入力してください

必要に応じて、コマンドラインスクリプトを使用しても同様に実行できるはずです。オプション3a / bと同様の方法で適用されます。これは、たとえば、ここで説明さているcmd またはここで説明さているPowerShellを使用して実行できます

オプション1b

ドライブのドライバーを完全に無効にすることができます。手動で行うには、開始しdiskmgmt.msc、右クリックして「オプション」を選択します。次に、「ドライバー」タブに移動し、「非アクティブ化」を選択します。ドライブはディスクマネージャーで「消失」し、オペレーティングシステムからアクセスできなくなります。ソフトウェアがハードウェアと直接通信するマシンコードコマンドを実行しない限り、アプリケーションがドライブにアクセスする方法はありません。少なくとも、オペレーティングシステムの入出力に関する私の知識に関する限りです。

ここに画像の説明を入力してください

必要に応じて、コマンドラインスクリプトを使用しても同様に実行できるはずです。たとえば、を使用して、オプション3a / bと同様の方法で適用されDevcon.exeます。詳細な説明はこちらにあります

オプション2-仮想環境を使用する(主にサードパーティソフトウェアを使用)

仮想環境内でアプリケーションを実行することがまったくオプションである場合、そこには多くのソリューションがあります。

  • Windowsバージョン(Win7以降が必要)とライセンス(「Professional」が必要、「Home」は不要)に応じて、Hyper-Vを使用して、サードパーティソフトウェアなしで仮想環境をセットアップできます。

  • サードパーティのソフトウェアを使用して、VMplayer、Virtual Boxなどの仮想システムをセットアップできます。多くのフリーウェアとペイウェアの代替があります。このソリューションを使用するには、Windowsの2番目のライセンスが必要です(または、ライセンスなしのままにしておきますが、画面の右下隅にWindowsを登録するよう指示するオーバーレイが表示されます)。これにより、ソフトウェアがドライブにアクセスできなくなります。

  • 「サンドボックス」アプリケーションを使用できます。ただし、サンドボックスアプリケーションが提供する仮想化のレベルに依存します。場合によっては、問題を解決できます。他の場合には、そうではありません。たとえば、Sandboxie(彼の答えで harrymcが説明している)は、(元の)答えで説明されている構成harrymcの問題を解決しません。ソフトウェアがアクセスをブロックする可能性がありますが、ドライブは引き続き回転します。別の方法は、Cameyoなどの別のサンドボックスアプリケーションを使用することです。

ちなみに、異なる仮想化ソフトウェアの主な違い、特に「Virtual Boxのような」仮想マシンとSandboxieのような「半仮想」アプリケーションの違いについての良い記事があります。

オプション3-ボリュームのみをアンマウントする(ドライブを「そのまま」残す)-追加のソフトウェアは必要ありませんが、場合によっては機能しない可能性があります

オプション3a

通常のショートカットを使用してアプリケーションを起動する代わりに、コマンドmountvolを使用してバッチファイルを記述し、最初に未使用のボリュームをアンマウントしてからアプリケーションを起動し、アプリケーションがドライブにアクセスしなくなったらボリュームを再マウントすることができます。コマンドラインを使用したマウント/アンマウントプロセスについては、ここここで説明しますここここでdiskpart説明さいるように使用することもできます

オプション3b

または、ドライブを一般的にアンマウントしたままにして、必要なときに手動で起動するドライブをマウントするバッチファイルを介してマウントすることもできます。使い終わったら、2番目のバッチファイルを使用して手動でアンマウントできます。ファイルシステムのアクセス要求を監視し、特定のアプリケーションにアクセスできないなどの特定のルールに従って、必要に応じてドライブをマウント/アンマウントすることにより、それを自動化できます。しかし、自動化に余分な労力をかけるだけの価値があるかどうかはわかりません。

オプション4-ドライブ文字(ボリューム)へのアクセスを制限します。簡単ですが、Microsoftの2つの小さなツールが必要です-しかし、あなたの場合はうまくいかないかもしれません

サードパーティのソフトウェアなしでそれを行いたいが、Microsoftの2つの小さなツールを使用することを気にしない場合(まだ使用していない場合)。「ルートによる」問題(ユーザーの権利とアプリケーションの権利の区別)を取得し、かなり単純であり、「大きな」サードパーティソフトウェアが必要ないため、このソリューションを好みます。

基本的に、ドライブにアクセスできないユーザーを追加し、それらの制限された権限でプログラムを起動します(通常のユーザーとしてログオンします。ログオンには制限付きアカウントを使用しません)。

  • ユーザーアカウントを追加します。

  • ファイルシステムのWindowsアクセス制御を使用して、ドライブへの新しいユーザーアカウントのアクセスを制限します。スクリーンショット含む優れたハウツーを以下に示します。

  • 次に、それらの権限でソフトウェアを起動します。たとえば、PsExec.exeを使用してそれを実行したり、プロセスエクスプローラーを使用したりできます。これらの2つのうちの1つは、まだ持っていない場合は、Microsoft Webサイトからダウンロードする必要があります。


4

Sandboxieを使用するソリューションを提案します 。私はあなたの環境を持っていないのでAcrobat.exe、アクセスD:がブロックされたサンドボックスでの実行をテストしました。Acrobatで[ファイル ] > [開く ]メニューを開くと、次のようになります。

画像

Acrobatはdiskのラベルさえも見つけられないため、D:「Local Disk(D :)」をクリックすると、ラベルが不完全に表示され、どのようにブロックされるかが強制されます。

私が使用した手順は次のとおりです。

  • Sandboxieをインストールしました
  • Sandboxie Controlで、既定のサンドボックスを右クリックし、[サンドボックス設定]を選択します
  • [ リソースアクセス]> [ファイルアクセス ] のブランチを開き、[ ブロックされたアクセス ]をクリックします。
  • [ プログラムの追加]をクリックしてAcrobat を追加します(私の場合はC:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe
  • [ 追加]をクリックしてディスクを追加しますD:
  • OKをクリック
  • Sandboxie Controlで、[プログラムスタート]> [強制フォルダー]のブランチを開きます。
  • [ フォルダの追加]をクリックします
  • Acrobatが存在するフォルダーを追加します(私の場合はC:\Program Files (x86)\Adobe\Acrobat DC\Acrobat
  • OKをクリック

これ以降、Acrobatフォルダーから起動するすべてのプログラムは、サンドボックス化された実行を強制され、特にAcrobat.exeディスクへのアクセスがブロックされD:ます。Acrobatでサンドボックス内での実行が困難になる場合は、他のサンドボックス制限を開く必要がある場合があります。

これがAcrobatがディスクのウェイクアップを引き起こすために使用する特定のWindows API呼び出しもブロックするかどうかはわかりませんが、試してみる価値はあります。

Sandboxieは、私がお勧めする素晴らしい汎用性の高い製品で、1つのデフォルトのサンドボックスで無料です。複数のサンドボックスの場合、それは有料ソフトウェアですが、生涯ライセンス価格は非常に合理的です(私は支払いました)。たとえば、テストした製品をサンドボックスにインストールし、ワンクリックでそれらを一掃できます。アンインストーラーは不要です。


別の分離ソリューションは、Dockerコンテナ内でAdobe Readerを使用すること です。Dockerコンテナーは小さく、仮想マシンのように機能しますが、既製のコンテナーはDockerギャラリーからダウンロードされるため、マシンを作成する必要はありません。

Chocolatey をパッケージマネージャーとして使用できます 。

Chocolateyには、Adobe Acrobat Reader DC 2018.011.20063でAdobe Readerを備えた多数の利用可能なビルド済みパッケージがあります 。

Dockerを使用すると、リソースに関して絶対的な分離が可能になります。一方で、フォルダーなどのリソースを完全にネイティブな方法で共有できます。


2
@WackGet:コメントはありますか?
ハリーマック

彼はそれが機能しないと言い、少なくとも彼のユースケースでは、ドライブはまだスピンアップします。Sandboxieには、ハードウェアレイヤーでリソースを非表示にするオプションがありますか?まだインストールしていません。
アルビン

@WackGet:Sandboxieの構成ファイルには、さらに多くの設定があります。しかし最初に:Adobeが起動された瞬間にディスクが起動するのか、それともメニューの[ファイル ] > [開く ]を使用しているときだけですか?
ハリーマック

上記の質問の他に、Dockerを使用して別の軽量分離オプションを追加しました。Dockerコンテナーは小さく、仮想マシンのように機能しますが、コンテナーは既製であり、Dockerギャラリーからダウンロードされるため、作成する必要はありません。
harrymc

興味深い選択。開発者/エンタープライズソリューションであるため、どのDockerアプリケーションを参照していますか。残念ながら、私が見たdocker製品は無料ではありません(トライアルウェアのみ可能)...しかし、多分私はs.thを見落としていました。
アルビン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.