web-dev-qa-db-ja.com

encfs6.xmlを別の場所に保存する(そしてそれを検出可能にする)にはどうすればよいですか?

_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:別のPCで試しました。
少し変更したバージョンの_encfs_mount.cmd_ファイルを使用してドライブを作成してマウントしました

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


rem Check if Windows XP or Windows 7 rem XP: C:\Documents and Settings (or language specific folder) rem 7: C:\Users


set oprsystem=%appdata:~3,5% if %oprsystem%==Users ( set ops=win7 ) else ( set ops=winxp )


set ininumber=1 rem An ini file will be created for future access if not exist encfs.ini goto firsttime set ininumber=0


rem List existing encrypted / decrypted folder pairs echo Already existing encrypted / decrypted folder pairs: echo. for /F "tokens=1,2,3,4 delims=µ" %%i in (encfs.ini) do ( echo No.: %%i Name: %%j echo Encrypted folder: %%k echo Decrypted folder: %%l echo. ) echo. echo Choose which pair should be mounted. echo Type the corresponding number and press ENTER echo Just press ENTER if you want to create a new pair. echo.


set /p ininumber=Type number:


set new=yes for /F "tokens=1,2,3,4 delims=µ" %%i in (encfs.ini) do ( if %%i==%ininumber% ( set crypt=%%k set decrypt=%%l set pair=%%j set new=no ) set number=%%i )


if %new%==no goto mount rem Increment ininumber for new folder pair set /a ininumber= %number% + 1


:firsttime rem First time use rem Ask for folder locations


cls echo Please enter the location for the folder echo that will contain the encrypted files and press ENTER: echo [e.g. d:\crypt - don't use a trailing backslash] echo.


set /p crypt=


echo. if %ops%==win7 echo Please enter the location for the drive if %ops%==winxp echo Please enter the location for the folder echo where you want to be able to access the decrypted files and press ENTER. if %ops%==win7 echo [e.g. x: - don't use a trailing backslash] if %ops%==winxp echo [e.g. d:\plain or x: - don't use a trailing backslash] echo.


set /p decrypt=


echo. echo Please enter a name for the encrypted / decrypted folder pair and press ENTER echo [e.g. Secret Files] echo.


set /p pair=


echo. echo. echo.


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


:mount cls echo Mount "%crypt%" to "%decrypt%" if not exist "%crypt%" md "%crypt%" rem If decrypt folder is a drive and encfs is on its first run decrypt folder is set to a temp folder set lastchar=%decrypt:~-1% if "%lastchar%"==":" ( if not exist "%crypt%.encfs6.xml" ( set decrypt="%temp%\decrypttemp" if not exist "%temp%\decrypttemp" md "%temp%\decrypttemp" echo. echo IMPORTANT echo After initialising encfs for the first time echo please close this window and start "encfs_mount" again echo. pause echo. ) ) else ( if not exist "%decrypt%" md "%decrypt%" )


rem Mount 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


echo.
_

これがログファイルです

_
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
_

UPDATE3:_.encfs6.xml_のデフォルト以外の場所でこの問題が発生している人は誰もいないとは信じられません。明確にするために、DOKANによってマウントが行われたにもかかわらず、ドライブが私のコンプに表示されません

UPDATE4:今のところ私は回避策を見つけました。 'encfs6'ファイルを暗号化されたファイルとは別の場所に保存する代わりに、暗号化されたコンテンツを別の場所にあるフォルダーに保存し、暗号化されたコンテンツを指すディレクトリジャンクションを作成して保存します'encfs6'ファイルのあるフォルダーにあります。

だから最初に私は持っています

 Encryptedfolder | --- .encfs6.xml 
 | --- file1(スクランブル名)
 | --- file2(スクランブル名)

次に、フォルダを作成します

Encryptedfolder | --- .encfs6.xml 
 | --- file1(スクランブル名)
 | --- file2(スクランブル名)
 | --- folder1(スクランブル名)
 

folder1 (scrambledname)を除くすべてのコンテンツを外部フォルダー(Dropbox)に移動します

 Encryptedfolder | --- .encfs6.xml 
 | --- folder1(スクランブル名)
 

その後、folder1(scrambledname) sの名前をコピーし、それを使用して、ドロップボックスwualateamdriverなどのフォルダーへのディレクトリジャンクションを作成します。もちろん、その前にfolder1を削除する必要があります。これは、junctionがフォルダーの代わりになり、encfs4winをだます必要があるためです。

 Encryptedfolder | --- .encfs6.xml 
 | --- folder1(scrambledname;これはdropboxフォルダーへのジャンクション)
 

eNCFS6_CONFIGの問題を解決したい

1
olitzadobric

ルートディレクトリへの相対パスを使用してENCFS6_CONFIGを設定する必要があります。例:ENCFS6_CONFIG = ../../ Directory1/.encfs6.xml

1
David

試してみて、システム設定でENCFS6_CONFIGをシステム変数として設定しました。私はそれをに設定しました

d:\.encfs6.xml

暗号化されたディレクトリからxmlファイルを削除した後も、それをマウントします。私のために問題を解決しました。

0
Mat

Enc4fsが引用されたファイル名を環境変数から読み取り、変更せずに構成リーダーに渡すため、構成ファイルを開くことができないようです。だからそれは開こうとします

"c:/test1/.encfs6.xml"

の代わりに

c:/test1/.encfs6.xml

少し掘り下げると、ブーストの問題のように見えます。誰かが修正に貢献することを願っています。

0