encfs com expectativa de acesso negado

4

Se eu executar o script

#!/usr/bin/expect 
set pass [lindex $argv 0] 
spawn encfs -v  {CRIPT_DIR}  {MNT_DIR} -o nonempty 
expect "*EncFS Password:*"
send "$pass\r"
expect eof

espere saída de script:

zz@zz-com:/media/truecrypt5/mmm$./e.sh 1
spawn encfs -v /media/truecrypt5/mmm/cr /media/truecrypt5/mmm/mn -o nonempty
10:25:11 (main.cpp:523) Root directory: /media/truecrypt5/mmm/cr/
10:25:11 (main.cpp:524) Fuse arguments: (daemon) (threaded) (keyCheck) encfs /media/truecrypt5/mmm/mn -o nonempty -s -o use_ino -o default_permissions 
10:25:11 (FileUtils.cpp:177) version = 20
10:25:11 (FileUtils.cpp:181) found new serialization format
10:25:11 (FileUtils.cpp:199) subVersion = 20100713
10:25:11 (Interface.cpp:165) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
10:25:11 (SSL_Cipher.cpp:370) allocated cipher ssl/aes, keySize 24, ivlength 16
10:25:11 (Interface.cpp:165) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
10:25:11 (SSL_Cipher.cpp:370) allocated cipher ssl/aes, keySize 24, ivlength 16
10:25:11 (FileUtils.cpp:1620) useStdin: 0
EncFS Password: 
10:25:11 (Interface.cpp:165) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
10:25:11 (SSL_Cipher.cpp:370) allocated cipher ssl/aes, keySize 24, ivlength 16
10:25:12 (FileUtils.cpp:1628) cipher key size = 44
10:25:12 (Interface.cpp:165) checking if nameio/block(3:0:1) implements nameio/block(3:0:0)

comando ls:

zz@zz-com:/media/truecrypt5/mmm$sudo ls -la
[sudo] password for zz: 
ls: cannot access mn: Permission denied
total 24
drwx------  4 zz zz 4096 2012-08-31 14:40 .
drwx------ 10 zz zz 4096 1970-01-01 03:00 ..
drwx------  2 zz zz 4096 2012-08-30 18:56 cr
-rwx------  1 zz zz   73 2012-08-30 18:54 e2.sh
-rwx------  1 zz zz  178 2012-08-30 19:10 e.sh
d?????????  ? ?  ?     ?                ? mn
-rwx------  1 zz zz   40 2012-08-30 18:52 u.sh

Não tenho acesso a {MNT_DIR}. O usuário de Sodo não tem acesso. Mas o comando ou shell scipt

#!/bin/sh
encfs -v  {CRIPT_DIR}  {MNT_DIR} -o nonempty

funcione corretamente.

SO: Ubuntu 11.10

O que há de errado no meu roteiro de expectativas?

    
por zoloto 03.09.2012 / 11:16

2 respostas

2

Nada está errado com o seu script de expectativa. Mas parece que você usou o seu usuário regular para montar o diretório criptografado, e então você está tentando ver os arquivos montados com o root usando o sudo. Isso não vai funcionar, e é o ponto inteiro de encfs.

No seu exemplo, o diretório cr é o armazenamento usado por encfs . O conteúdo disso não é grande segredo, são dados criptografados. Você está montando esses dados em mn , para que você possa ver seu conteúdo de maneira legível, como arquivos em mn .

Apenas o usuário que monta cr conseguirá ler o que está dentro de mn . Nem mesmo o root pode. Se você quiser que root veja o conteúdo, altere seu ./e.sh 1 no exemplo para sudo ./e.sh 1 .

    
por 04.09.2012 / 18:17
2

O uso de encfs em um script expect é diferente ao executar um comando porque encfs bifurca um processo em segundo plano, mas quando o script expect sai, o daemon encfs se torna extinto. Mais cedo ou mais tarde ele será recuperado pelo init.

Você pode tentar usar encfs -f para manter encfs em execução em primeiro plano e não sair do script.

    
por 06.03.2013 / 04:07