1

Как сделать так, чтобы encfs4win искал файл encfs6 в другом месте?
Я попытался изменить файл encfs_mount.cmd в конце, например, так:

set ENCFS6_CONFIG=c:/test1/.encfs6.xml 
%pathtoencfs%encfs -f -v -d "%crypt%" "%decrypt%"

где crypt = c:\test4 and decrypt = J:

Если у меня есть правильный файл encfs6 в c:\test4 то том монтируется независимо от того, добавляю ли я строку set ... Но если я переместу файл encfs6 в c:\test1 тогда приложение доберется до точки, где оно запрашивает пароль, а затем ничего не делает, и затем я закрываю его; диск, кажется, не установлен. Я уверен, что переменная ENCFS обнаружена, потому что, если я использую ее следующим образом: set ENCFS6_CONFIG=c:/test1/ я получаю что-то вроде "found config file c:\test1\ but failed to load" поэтому переменная имеет какой-то эффект.

Заранее спасибо.
edit1: Кстати, если вы собираетесь проверить, убедитесь, что вы запускаете все команды / исполняемый файл от имени администратора

edit2: я попробовал на другом ПК.
Я создал и смонтировал диск, используя слегка измененную версию файла encfs_mount.cmd

@echo off
rem Batch file for mounting encfs encrypted folders
title encfs: Mount an encrypted folder to a decrypted one

rem Проверьте, является ли Windows XP или Windows 7 rem XP: C:\Documents and Settings (или папка для определенного языка) rem 7: C:\Users

set oprsystem =% appdata:~ 3,5%, если% oprsystem% == Пользователи (set ops = win7) else (set ops = winxp)

set ininumber = 1 rem. Файл ini будет создан для доступа в будущем, если он не существует. encfs.ini Перейти в первый раз set ininumber = 0

rem Перечислить существующие пары зашифрованных / расшифрованных папок. echo Уже существующие пары зашифрованных / дешифрованных папок: echo. для / F "токены = 1,2,3,4 delims = µ" %% i in (encfs.ini) do (номер эха: %% i Имя: %% j echo Зашифрованная папка: %% k echo Зашифрованная папка : %% l echo. эхо echo Выберите, какая пара должна быть установлена. echo Введите соответствующий номер и нажмите ENTER. echo Просто нажмите ENTER, если хотите создать новую пару. эхо.

set /p ininumber = Типовой номер:

установить новые = да для /F "токены = 1,2,3,4 delims = µ" %% i in (encfs.ini) сделать (если %% i ==% ininumber% (установить crypt = %% k установить расшифровать = %% l установить пару = %% j установить новый = нет) установить номер = %% i)

if% new% == no goto mount rem Увеличение номера для новой пары папок set /a ininumber =% number% + 1

: первый раз rem Первое использование rem Запросить расположение папок

cls echo Пожалуйста, введите местоположение папки echo, которая будет содержать зашифрованные файлы, и нажмите клавишу ВВОД: echo [например, d:\crypt - не использовать обратную косую черту] echo.

set /p crypt =

эхо. if% ops% == win7 echo Пожалуйста, введите местоположение для диска, если% ops% == winxp echo. Пожалуйста, введите местоположение для папки echo, где вы хотите иметь доступ к расшифрованным файлам, и нажмите ENTER. if% ops% == win7 echo [например, x: - не использовать завершающий обратный слеш], если% ops% == winxp echo [например, d:\plain или x: - не использовать завершающий обратный слэш].

set /p decrypt =

эхо. echo Пожалуйста, введите имя для пары зашифрованных / расшифрованных папок и нажмите ENTER. echo [например, Secret Files] echo.

set /p pair =

эхо. эхо. эхо.

echo% ininumber% µ% pair% µ% crypt% µ% decrypt% >> encfs.ini

:mount cls echo Монтирование "% crypt%" в "% decrypt%", если не существует "% crypt%" md "% crypt%" rem Если папка дешифрования является диском, а encfs находится при первом запуске, для папки дешифрования устанавливается значение временная папка установлена lastchar =% decrypt:~ -1%, если "% lastchar%" == ":" (если не существует "% crypt% .encfs6.xml" (установите decrypt = "% temp%\decrypttemp", если не существует "% temp%\decrypttemp" md "% temp%\decrypttemp" эхо. echo ВАЖНО echo После инициализации ecfs в первый раз echo, пожалуйста, закройте это окно и снова запустите "encfs_mount" echo. пауза эхо. )) иначе (если не существует "% decrypt%" md "% decrypt%")

rem Смонтировать encfs set pathtoencfs = M:\kit\encfs4w\encfs4win\ set pathtolog = M:\kit\encfs4w\encfs4win\ set pathtowtee = M:\kit_util\ echo. set ENCFS6_CONFIG = M:\ test4.encfs6.xml (% pathtoencfs% encfs -f -v -d "% crypt%" "% decrypt%") 2> & 1 | % pathtowtee% wtee.exe -a% pathtolog% log.txt

эхо. так на этом новом компьютере% crypt% = m:\test1 и% decrypt% = j:

и вот файл журнала


20:57:27 (main.cpp:521) Root directory: m:\test1/
20:57:27 (main.cpp:522) Fuse arguments: (fg) (threaded) (keyCheck) M:\kit\encfs4w\encfs4win\encfs C:\Users\dabb\AppData\Local\Temp\decrypttemp -f -d -s -o use_ino -o default_permissions 
20:57:27 (FileUtils.cpp:177) version = 20
20:57:27 (FileUtils.cpp:181) found new serialization format
20:57:27 (FileUtils.cpp:199) subVersion = 20100713
20:57:27 (Interface.cpp:165) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
20:57:27 (SSL_Cipher.cpp:372) allocated cipher ssl/aes, keySize 24, ivlength 16
20:57:27 (Interface.cpp:165) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
20:57:27 (SSL_Cipher.cpp:372) allocated cipher ssl/aes, keySize 24, ivlength 16
20:57:27 (FileUtils.cpp:1621) useStdin: 0
EncFS Password: 20:57:31 (Interface.cpp:165) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
20:57:31 (SSL_Cipher.cpp:372) allocated cipher ssl/aes, keySize 24, ivlength 16
20:57:31 (openssl.cpp:49) Allocating 41 locks for OpenSSL
20:57:31 (FileUtils.cpp:1627) cipher key size = 44
20:57:31 (Interface.cpp:165) checking if nameio/block(3:0:1) implements nameio/block(3:0:0)

Dokan: debug mode on
Dokan: use stderr
device opened
mounted: C:\Users\dabb\AppData\Local\Temp\decrypttemp -> \Volume{i delete the guid}
DokanRemoveMountPoint C:\Users\dabb\AppData\Local\Temp\decrypttemp
DokanControl recieved DeviceName:\Volume{i delete the guid}
send release
^C

ОБНОВЛЕНИЕ 3: воу, я не могу поверить, что ни у кого нет этой проблемы с нестандартными местоположениями для .encfs6.xml . Просто чтобы прояснить это, несмотря на монтировку, выполненную DOKAN, накопитель не появляется в моем компе

ОБНОВЛЕНИЕ 4: пока я нашел обходной путь. Вместо того, чтобы хранить файл 'encfs6' в другом месте, отличном от того, в котором находятся зашифрованные файлы, я храню зашифрованный контент в папке, которая находится в другом месте.И я создаю соединение каталогов, которое указывает на зашифрованный контент, и сохраняю его в папке с файлом 'encfs6'.

Итак, сначала у меня есть

Encryptedfolder|--- .encfs6.xml  
               |--- file1 (scrambledname)  
               |--- file2 (scrambledname)  

тогда я создаю папку

Encryptedfolder    |--- .encfs6.xml    
                    |--- file1 (scrambledname)  
                    |--- file2 (scrambledname)
                    |--- folder1 (scrambledname) 
                      

я перемещаю весь контент, кроме folder1 (scrambledname) во внешнюю папку (Dropbox)

Encryptedfolder|--- .encfs6.xml
               |--- folder1 (scrambledname) 
                      

после этого я копирую имя folder1(scrambledname) и использую его для создания соединения каталога с папкой dropbox wuala teamdriver и т. д. Конечно, вы должны удалить folder1 до этого, потому что место соединения должно занимать место папки и трюк encfs4win.

Encryptedfolder|--- .encfs6.xml
               |--- folder1 (scrambledname; this a junction to dropbox folder) 
                      

я все еще хочу решить проблему с ENCFS6_CONFIG

3 ответа3

1

Вы должны установить ENCFS6_CONFIG с относительным путем к корневому каталогу. Например, ENCFS6_CONFIG = ../../Directory1/.encfs6.xml

0

Я только попробовал это и установил ENCFS6_CONFIG как системную переменную в системных настройках. Я установил это

d:\.encfs6.xml

и после удаления XML-файла из зашифрованного каталога он все еще монтирует его. Решил проблему для меня.

0

Кажется, что файл конфигурации не может быть открыт, потому что enc4fs читает имя файла в кавычках из переменной среды и передает его в программу чтения конфигурации без изменений. Так он пытается открыть

"C:/test1/.encfs6.xml"

вместо

с:/test1/.encfs6.xml

Копание немного похоже на проблему повышения. Надеюсь, кто-нибудь внесет исправление.

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