Добрый день!
Возникла необходимость хранить объекты в виде файлов на диске (в память они не влазиют, сильно большие), юзер не должен иметь доступ к этим файлам ни как и ни когда, если ли в виндах какие то интерфейсы которые к примеру создают файл и внутри него псевдо файловая система (чтобы можно было обращаться к ее объектам как к файлам) или что то подобное? Ну в общем самое главное чтобы юзер ни как не увидел и не получил доспут к файлам.
Спасибо!
Здравствуйте, Srv, Вы писали:
Srv>Возникла необходимость хранить объекты в виде файлов на диске (в память они не влазиют, сильно большие), юзер не должен иметь доступ к этим файлам ни как и ни когда
Можно, например, создать фолдер, поставить запрет доступа к нему юзеру. В нем эти файлы и хранить. К твоему профилю ("Users\Ты", например, никакие прочие юзеры (кроме админа) доступа не имеют.
>если ли в виндах какие то интерфейсы которые к примеру создают файл и внутри него псевдо файловая система (чтобы можно было обращаться к ее объектам как к файлам) или что то подобное?
Насчет псевдофайловой системы — не знаю, а если нужно хранить в файле разделы, то смотри потоки в NTFS
Srv>...если ли в виндах какие то интерфейсы которые к примеру создают файл и внутри него псевдо файловая система (чтобы можно было обращаться к ее объектам как к файлам) или что то подобное?
Во-первых, всё это сильно смахивает на обычную локальную БД, чем не подходит? Во-вторых, думаю, тебе стоит посмотреть в сторону виртуальных дисков, которые монтируются на букву или на папку. В Windows 7, кстати, есть встроенная поддержка таких дисков, а для других версий существует огромное кол-во подобных продуктов типа того же TrueCrypt. Правда, контейнеры там, в основном, шифрованные везде, это сказывается на производительности, хотя и не критично.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, Srv, Вы писали:
Srv>>Возникла необходимость хранить объекты в виде файлов на диске (в память они не влазиют, сильно большие), юзер не должен иметь доступ к этим файлам ни как и ни когда
PD>Можно, например, создать фолдер, поставить запрет доступа к нему юзеру. В нем эти файлы и хранить. К твоему профилю ("Users\Ты", например, никакие прочие юзеры (кроме админа) доступа не имеют.
Мне кажется, не тот случай. Устанавливает юзер софт, и тут у него на компе ещё один юзер откуда-то берётся...
>>если ли в виндах какие то интерфейсы которые к примеру создают файл и внутри него псевдо файловая система (чтобы можно было обращаться к ее объектам как к файлам) или что то подобное?
PD>Насчет псевдофайловой системы — не знаю, а если нужно хранить в файле разделы, то смотри потоки в NTFS
PD>hFile = CreateFile("Myfile.dat:stream1", ...);
Что-то я недавно пробовал на своей машине, у меня с потоками создавались файлы нулевой длины...
Здравствуйте, CEMb, Вы писали:
CEM>Здравствуйте, Pavel Dvorkin, Вы писали: CEM>Мне кажется, не тот случай. Устанавливает юзер софт, и тут у него на компе ещё один юзер откуда-то берётся...
Вообще-то устанавливает софт админ.
CEM>Что-то я недавно пробовал на своей машине, у меня с потоками создавались файлы нулевой длины...
Правильно, если смотреть в фаре, он их не показывает и не копирует. Пиши в эти потоки и смотри сколько памяти свободной осталось
Здравствуйте, Srv, Вы писали:
Srv>Возникла необходимость хранить объекты в виде файлов на диске (в память они не влазиют, сильно большие), юзер не должен иметь доступ к этим файлам ни как и ни когда, если ли в виндах какие то интерфейсы которые к примеру создают файл и внутри него псевдо файловая система (чтобы можно было обращаться к ее объектам как к файлам) или что то подобное? Ну в общем самое главное чтобы юзер ни как не увидел и не получил доспут к файлам.
Srv, прошу прощения, но ни как и ни когда пишутся вмес те. Без дефиса тоже тяжело читать.
Если пользователю не следует (или наоборот) иметь доступ к объекту типа файл — файловая система с возможностью выставлять права доступа для субъектов должна помочь. Например, NTFS. Задайте ACLs и описанная выше проблема окажется решена.
Если же интересует как снять риск потери\кражи носителя\контейнера с данными (сюда же относим dual-boot и т.п. атаки) — то отправная точка для поисков здесь: File-Level Encryption (FLE), раз у Вас речь про файлы в разговоре.
Если же захочется иметь прозрачный доступ к закрытым каким-либо своим алгоритмом\образом объектам, т.е. не нарушая работу пользователей, которым по известным Вам критериям следует давать доступ (и чего вдруг не позволяют Вам сделать ACLs) — то ищите в форуме asm по слову encryption filters — на уровне файловой системы это, разумеется, будут encryption file system [mini]filters (aka [encryption] filter drivers).
Если же под мегабольшими контейнерами Вы имели ввиду виртуальные и прочие крипто-диски (т.е. забываем про уровень работы с файлами и переходим на уровень работы с блоками\секторами, см сообщение x64
) — то добро пожаловать в мир, соответственно, фильтров уровня диска (storage/disk filters).
... << RSDN@Home 1.2.0 alpha 4 rev. 1481>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.