1

Я ищу способ зашифровать некоторые папки профиля с помощью truecrypt. Шифрование системного диска не вариант.

Как я могу зашифровать C:\Users\user1\AppData с помощью truecrypt?

1 ответ1

2

Возможно, я делаю это сам. Это что-то вроде взлома, но работает на удивление хорошо. Этот метод основан на том факте, что Windows допускает перенаправление папки AppData.

Краткая версия моего ответа:

  1. Войти как другой пользователь
  2. Переместите содержимое папки AppData первого пользователя на том TrueCrypt
  3. Удалите папку AppData и замените ее переходом NTFS (перенаправление папки), который указывает на том TrueCrypt

Подробности:

Сначала войдите в систему как другой пользователь с правами администратора, поскольку мы не можем копировать AppData от пользователя, который все еще вошел в систему. Создайте контейнер TrueCrypt на основе файлов и смонтируйте его. Откройте путь к профилю пользователя в проводнике Windows и подтвердите запрос на получение прав доступа, это важно для следующего шага. Скопируйте папку AppData в контейнер TrueCrypt. Для правильного копирования всех системных файлов и настроек безопасности не используйте проводник Windows, используйте инструмент вроде robocopy из командной строки с повышенными привилегиями:

robocopy C:\Users\user\AppData x: /E /COPYALL /XJ /W:0 /R:0

Где x: ваш подключенный том TrueCrypt. Это обеспечит копирование всех метаданных NTFS. Не опускайте ключ /XJ, иначе вы застрянете в бесконечном цикле.

Теперь у вас будет две возможности изменить путь к AppData, который используется Windows. Первый способ - полностью удалить старую папку AppData и заменить ее переходом NTFS. По сути это заменяющий ярлык, который позволяет прозрачно перенаправить путь к одной папке в другое место. Чтобы удалить старую папку AppData и создать перекресток, откройте командную строку (все еще со вторым пользователем) и введите:

rmdir /s c:\users\user1\AppData    
mklink /j c:\users\user1\AppData x:\AppData

Где x: ваш смонтированный контейнер TrueCrypt. Если у вас возникли проблемы с удалением папки AppData, поскольку вы получаете сообщение о том, что она не пустая, попробуйте следующее: Как удалить файл в Windows со слишком длинным именем файла? (первый ответ)

Второй вариант - это мягкое перенаправление путем изменения пути к AppData, который хранится в реестре. Обратите внимание, что это не удалит старую папку AppData, и более старое или плохо сделанное программное обеспечение все равно может попытаться выполнить запись в старое местоположение, поскольку оно может использовать жестко заданный путь и неправильно считывать путь из реестра. Я обнаружил, что это очень редко, и этот подход работает почти так же хорошо. Вот как это сделать:

Войдите снова с первой учетной записью пользователя, откройте regedit и перейдите к:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

Затем измените значения "AppData" и "Local AppData", чтобы они указывали на том TrueCrypt, например X:\AppData\Roaming и X:\AppData\Local. Вы также можете изменить все другие пути к папке оболочки в этом разделе реестра, например папку "Рабочий стол" и "Загрузки", если вы хотите их также зашифровать. Затем выйдите и войдите снова, и все готово.

Убедившись, что все работает правильно, вы можете снова войти в систему как второй пользователь и удалить содержимое старой папки AppData (не самой папки, это вызовет проблемы).

При использовании любого из двух методов с этого момента вам, очевидно, придется монтировать контейнер TrueCrypt сразу после каждого входа в систему, иначе программы не будут работать должным образом, если они не смогут найти папку AppData. Вам также придется перезапустить explorer.exe после монтирования контейнера, поскольку Windows не может правильно загрузить панель задач и меню «Пуск» без предварительного доступа к папке AppData. Вот как я автоматизировал этот процесс с помощью пакетного файла, который автоматически выполняется при входе в систему:

taskkill /f /im explorer.exe
"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "c:\users\user\AppData.tc" /ld /q
start "" explorer

Помимо изворотливого процесса входа в систему, все работает как надо.

Для совместимости со старыми программами вам также придется изменить устаревшие специальные перенаправления папок в корневой папке пользователя. Откройте командную строку, перейдите к корневой папке пользователя и введите

dir /a

Ищите записи JUNCTION. Наиболее важными являются "Данные приложения" и "Локальные настройки". Они по-прежнему указывают на вашу старую папку AppData. Удалите их (команда del) и создайте их снова (команда mklink /j), чтобы связать их с правильными путями.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .