encfs 예상 액세스가 거부되었습니다.

encfs 예상 액세스가 거부되었습니다.

스크립트를 실행하면

#!/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

예상되는 스크립트 출력:

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)

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

{MNT_DIR}에 액세스할 수 없습니다. Sodo 사용자는 접근할 수 없습니다. 그러나 명령이나 쉘 scipt

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

올바르게 작동합니다.

운영 체제: 우분투 11.10

예상 스크립트에 어떤 문제가 있나요?

답변1

의도한 스크립트에는 아무런 문제가 없습니다. 하지만 일반 사용자를 사용하여 암호화된 디렉터리를 마운트한 다음 루트를 사용하여 sudo를 사용하여 마운트된 파일을 보려고 시도한 것 같습니다. 그것은 작동하지 않으며 이것이 바로 encfs의 전부입니다.

귀하의 예에서 디렉토리 cr는 입니다 encfs. 내부 내용은 큰 비밀이 아니며 모두 암호화된 데이터입니다. 이 데이터는 mn사람이 읽을 수 있는 방식으로 내용을 볼 수 있도록 에 로드됩니다 mn.

설치된 사용자만 cr이 내용을 읽을 수 있습니다 mn. 루트도 아닙니다. root내용을 보려면 예제 ./e.sh 1의 를 로 변경 해야 합니다 sudo ./e.sh 1.

답변2

encfs명령을 실행하면 백그라운드 프로세스가 분기되기 때문에 예상 스크립트에서 사용될 때와 다르지만 encfs예상 스크립트가 종료되면 encfs데몬 프로세스가 실패합니다. 조만간 init에 의해 재활용될 것입니다.

encfs -f따라서 포그라운드에서 계속 encfs실행을 사용하고 스크립트를 종료하지 않는 것이 좋습니다 .

관련 정보