Есть ли способ отключить виртуальный диск в случае, если посторонний процесс или пользователь пытается получить к нему доступ? - PullRequest
1 голос
/ 03 апреля 2019

Мои работодатели попросили меня найти способ создания службы, которая запускается при монтировании виртуального диска, и проверяет, пытается ли пользователь или сторонний процесс получить к нему доступ, в случае, если это происходит, служба должна уведомить программное обеспечение.отвечает за управление диском и его размонтирование.Это потому, что они не хотят, чтобы кто-то возился с файлами, находящимися на диске.

Я попытался найти здесь несколько вопросов о стековом потоке, и обнаружил следующее: - заблокировать файлы на диске DirectoryInfo;- Создайте драйвер с минифильтром, который проверяет доступ к файлу;

Но никто из них действительно не отвечает на мой вопрос.

У меня есть код для создания и монтирования диска и его размонтирования,У меня также есть код для блокировки файлов с помощью DirectoryInfo, но я не знаю, как действовать

Может кто-нибудь сказать мне, возможно ли то, чего я пытаюсь достичь, и если да, то по какому пути янужно принять, чтобы сделать это!

1 Ответ

0 голосов
/ 13 июня 2019

Правильным решением является использование драйвера фильтра файловой системы, который будет проверять доступ к диску синхронно (по мере поступления запроса) и блокировать запросы или выполнять любые другие действия.Это может потребовать некоторой работы в режиме ядра, или можно использовать такой компонент, как CBFS Filter (отказ от ответственности - мы поддерживаем этот продукт), который предоставляет вам как предопределенные правила, так и возможность динамической обработки всех запросов пользователярежим (через события), и вместе с ним ваша задача решается буквально менее чем за час программирования.

Драйвер режима ядра может получить учетные данные (имя, маркер безопасности, PID) процесса, который открывает файл или выполняет операции с файловой системой, и действовать соответствующим образом.В CBFS Filter эта информация доступна в обработчиках событий, поэтому приложение может реагировать на нее.

...